{
  "commits": {
    "006d979732e0": {
      "author": "Atila Butkovits",
      "avatar": "https://www.gravatar.com/avatar/d57dec63a56cf8f6739509d2a319c6ee?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "This reverts commit c0e30ee6b7d3a74774a61e1ff685cad2ef1aa72c.",
      "email": "abutkovits@mozilla.com",
      "hash": "006d979732e019242073d13916eee12f0bf1982e",
      "subject": "Revert \"Bug 2063759 - Avoid line-clamp style adjustment for displays that aren't block/inline. r=firefox-style-system-reviewers,emilio,layout-reviewers\" for causing failures at webkit-line-clamp-016.html."
    },
    "11b9c3e66620": {
      "author": "rperta",
      "avatar": "https://www.gravatar.com/avatar/95787d55656c719bd5b0c6754f5449a3?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "This reverts commit a52021bfebee73b34e44233a412f462ea558e1ac.",
      "email": "rperta@mozilla.com",
      "hash": "11b9c3e666207ad179340367eceb8ec940722561",
      "subject": "Revert \"Bug 1978211 - Remove layout.css.moz-broken.content.enabled pref r=emilio\" for causing multiple reftest failures"
    },
    "17e93ad5d326": {
      "author": "rperta",
      "avatar": "https://www.gravatar.com/avatar/95787d55656c719bd5b0c6754f5449a3?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "This reverts commit 65322012dd7c0fb00473733b9aab360a20d2f6cc.",
      "email": "rperta@mozilla.com",
      "hash": "17e93ad5d3261e20104c7f6f2ec867ecc138ca1a",
      "subject": "Revert \"Bug 2045971 [Linux] Add Vulkan support to ffvpx r=tboiko,padenot\" for causing build bustages"
    },
    "1812c216a7c4": {
      "author": "rperta",
      "avatar": "https://www.gravatar.com/avatar/95787d55656c719bd5b0c6754f5449a3?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "This reverts commit a173c556f3e0667cf3238d5c86a2fe2f4b705f31.",
      "email": "rperta@mozilla.com",
      "hash": "1812c216a7c417422910e16e271a39d7ca402372",
      "subject": "Revert \"Bug 2064333 - Turn scoped registries on for nightly builds r=dom-core-reviewers,smaug,devtools-reviewers,ochameau\" for causing unexpected ok wpt failures at sanitizer-custom-elements-constructor.html"
    },
    "2499d1c872b5": {
      "author": "Norisz Fay",
      "avatar": "https://www.gravatar.com/avatar/e060837184d7bb06925d038b8c16a828?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "This reverts commit 24f381f39a4250d0b852514638d717b031c01c2f.",
      "email": "nfay@mozilla.com",
      "hash": "2499d1c872b53bb40165b84a0c1d497909b171eb",
      "subject": "Revert \"Bug 2060047. r=gfx-reviewers,lsalzman,ErichDonGubler\" for causing assertion failure @ CanvasManagerParent.cpp"
    },
    "27132fcd9ae0": {
      "author": "rperta",
      "avatar": "https://www.gravatar.com/avatar/95787d55656c719bd5b0c6754f5449a3?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "This reverts commit 42a31b4e8e79d496ff359873691355ec86d7d249.\n\nRevert \"Bug 2063169 - Add WR_FEATURE_SUPERELLIPSE variant to ps_quad_mask. r=gfx-reviewers,nical\"\n\nThis reverts commit 73cd5c16d7c4d0aa2351a0f46ab7f02a234bb930.",
      "email": "rperta@mozilla.com",
      "hash": "27132fcd9ae02122ff7aa6d4ecd8f2dbebbcaf28",
      "subject": "Revert \"Bug 2063169 - Add WR_FEATURE_SUPERELLIPSE variant to ps_quad_box_shadow. r=gfx-reviewers,nical\" for causing dt failures at browser_window_sizing.js"
    },
    "32b145772987": {
      "author": "rperta",
      "avatar": "https://www.gravatar.com/avatar/95787d55656c719bd5b0c6754f5449a3?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "This reverts commit 2e4e1eb7eef193031df0bc0e0138468c6fb3d4c7.\n\nRevert \"Bug 2056071 (part 1) - Remove app-services BridgedEngine. r=bdk,skhamis,sync-reviewers\"\n\nThis reverts commit 27ec4a33b145e67f0ddec12aad5217bc91662ffa.",
      "email": "rperta@mozilla.com",
      "hash": "32b145772987224d21a080ba71746eb2d4bfaaf5",
      "subject": "Revert \"Bug 2056071 (part 2) - Vendor application-services rev 7c34b8930543e7c34b89. r=skhamis\" for causing lint failures"
    },
    "3a5b0440bf2f": {
      "author": "Cosmin Sabou",
      "avatar": "https://www.gravatar.com/avatar/392cb3f0cf45743e207bd4bcde85f272?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "This reverts commit d9febaaa4c5f0c4890585fddaf09fec3e7f934ab.",
      "email": "csabou@mozilla.com",
      "hash": "3a5b0440bf2f21089a48d1e91f7abb543e42f6ee",
      "subject": "Revert \"Bug 2061040 - Create SQLite Base Class and new DB setup for AITab - r=omarg\" for failures on browser_all_files_referenced."
    },
    "4b843058d565": {
      "author": "Cosmin Sabou",
      "avatar": "https://www.gravatar.com/avatar/392cb3f0cf45743e207bd4bcde85f272?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "This reverts commit 0681535597e70869dae0146f57f1ed9938d8027e.\n\nRevert \"Bug 2055613 - Prepare telemetry/addons tests for legacy environment addons removal r=chutten,robwu\"\n\nThis reverts commit a449dabf881cabf50f4fcd6f369b85de830a6398.",
      "email": "csabou@mozilla.com",
      "hash": "4b843058d565bf729ec9bf3a3803945e3c113831",
      "subject": "Revert \"Bug 2055613 - Remove activeAddons/theme/activeGMPlugins from the legacy Telemetry environment r=chutten,robwu\" for causing xpcshell failures on test_exposure."
    },
    "52dab2f70d34": {
      "author": "rperta",
      "avatar": "https://www.gravatar.com/avatar/95787d55656c719bd5b0c6754f5449a3?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "This reverts commit bec057ba804ef1beeb181accc925097cbb8a1360.",
      "email": "rperta@mozilla.com",
      "hash": "52dab2f70d34604d7c3205d055ba709cf55f88fb",
      "subject": "Revert \"Bug 2064596 - Exclude border/padding when applying text-box-trim to inline boxes. r=layout-reviewers,dshin\" for causing wr failures at text-box-trim-inline-box-005.html"
    },
    "5f0e2f577140": {
      "author": "rperta",
      "avatar": "https://www.gravatar.com/avatar/95787d55656c719bd5b0c6754f5449a3?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "This reverts commit b420528a4b5b7cb9204105e9f938c31c72ef3f76.\n\nRevert \"Bug 1996189 part 2 - Support async module scripts in Warp. r=mgaudet\"\n\nThis reverts commit 177abd3f2bb962fcc44e6fbbc413e1fc99fc10dc.\n\nRevert \"Bug 1996189 part 1 - Add AbstractGeneratorObject::create overload for modules. r=mgaudet\"\n\nThis reverts commit 03c8501bd7d29ad77f35e43349d360c16332d44b.",
      "email": "rperta@mozilla.com",
      "hash": "5f0e2f5771401467d1bfba0f2d9e911bd664d828",
      "subject": "Revert \"Bug 1996189 part 3 - Generate MIR/LIR boilerplate for MGenerator. r=mgaudet\" for causing wpt assertion failures at WarpBuilder.cpp"
    },
    "61e34f1e5af3": {
      "author": "Cosmin Sabou",
      "avatar": "https://www.gravatar.com/avatar/392cb3f0cf45743e207bd4bcde85f272?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "This reverts commit 7752e222b67506c57d50132ef9b6470ec285a92b.",
      "email": "csabou@mozilla.com",
      "hash": "61e34f1e5af3e06c5569ba27f3f02f32c8a6ad53",
      "subject": "Revert \"Bug 2062113 - Create Monitor Tool bar button r=jlewis,fluent-reviewers,desktop-theme-reviewers,sfoster,bolsson\" for causing failures on browser_aiwindow_switcher"
    },
    "6aca970b1297": {
      "author": "rperta",
      "avatar": "https://www.gravatar.com/avatar/95787d55656c719bd5b0c6754f5449a3?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "",
      "email": "rperta@mozilla.com",
      "hash": "6aca970b1297a130a07d1d4ec07c53e0c793e9a2",
      "subject": "Bug 2065038 - metadata update"
    },
    "90ce18e62135": {
      "author": "Norisz Fay",
      "avatar": "https://www.gravatar.com/avatar/e060837184d7bb06925d038b8c16a828?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "This reverts commit db95f34392f68cf05d71053854eb21bc21918b32.",
      "email": "nfay@mozilla.com",
      "hash": "90ce18e6213517e4c8e932f8f34ff46f598f4182",
      "subject": "Revert \"Bug 2061103 - Update encoding_rs to main before 0.8.40. r=supply-chain-reviewers,afranchuk,dminor\" for causing encoding related wpt failures"
    },
    "D153138": {
      "author": "Nick Alexander",
      "avatar": "https://www.gravatar.com/avatar/38f9a25a8d2da9ac3b8e6662dfcd2808?d=identicon\u0026s=64",
      "cl": "D153138",
      "clUrl": "https://phabricator.services.mozilla.com/D153138",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D153138",
      "email": "nalexander@mozilla.com",
      "hash": "0856a27e204712f29368d9d3ab30af46a1beffdb",
      "subject": "Bug 1782157 - Add docs for Windows native notifications with new `notificationserver.dll`. r=aborondo,iholmes,hsohaney,saschanaz"
    },
    "D175550": {
      "author": "Calixte Denizet",
      "avatar": "https://www.gravatar.com/avatar/4546427c28f29c34fe095c40c137ef35?d=identicon\u0026s=64",
      "cl": "D175550",
      "clUrl": "https://phabricator.services.mozilla.com/D175550",
      "description": "The zone identifier is now written from WinUtils::MaybeWriteFileZoneIdSync, so\nthe source URI handed to the platform layer is the only place left to pick the\noriginal url.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D175550",
      "email": "calixte.denizet@gmail.com",
      "hash": "f8837d62196cdb46402a23a3bed555c21d70d4de",
      "subject": "Bug 1828249 - Use the original url if any in the downloaded file metadata r=Gijs"
    },
    "D192008": {
      "author": "Mark Striemer",
      "avatar": "https://www.gravatar.com/avatar/8407f1551cb10122bad1fc181e6177ac?d=identicon\u0026s=64",
      "cl": "D192008",
      "clUrl": "https://phabricator.services.mozilla.com/D192008",
      "description": "The bundle-lit.sh script stopped working when we moved to git since it\nused `git patch`, this was now making the paths relative to the firefox\nsource root. It now moves the clone into a temp directory, makes that a\ngit repository and patches it. We could probably do this inline, but\nrunning `git init` in your firefox directory seemed like it could cause\nunwanted side effects if something goes wrong.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D192008",
      "email": "mstriemer@mozilla.com",
      "hash": "b4209c503f37af8a951767ee7a979889ebbf5f07",
      "subject": "Bug 1861496 - Update Lit patches to lit@3.3.3 r=tgiles"
    },
    "D192009": {
      "author": "Mark Striemer",
      "avatar": "https://www.gravatar.com/avatar/8407f1551cb10122bad1fc181e6177ac?d=identicon\u0026s=64",
      "cl": "D192009",
      "clUrl": "https://phabricator.services.mozilla.com/D192009",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D192009",
      "email": "mstriemer@mozilla.com",
      "hash": "629f848e6f1f9f9676a3a940cb22b9a342cb34b5",
      "subject": "Bug 1861496 - Update Lit to lit@3.3.3 r=tgiles,Standard8"
    },
    "D257929": {
      "author": "Gregory Pappas",
      "avatar": "https://www.gravatar.com/avatar/a71a63b3280b1db30a4dca7afefc5035?d=identicon\u0026s=64",
      "cl": "D257929",
      "clUrl": "https://phabricator.services.mozilla.com/D257929",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D257929",
      "email": "gp3033@protonmail.com",
      "hash": "a52021bfebee73b34e44233a412f462ea558e1ac",
      "subject": "Bug 1978211 - Remove layout.css.moz-broken.content.enabled pref r=emilio"
    },
    "D294066": {
      "author": "Chun-Min Chang",
      "avatar": "https://www.gravatar.com/avatar/8092c68fbfa26b5e17e2265e612bd1c3?d=identicon\u0026s=64",
      "cl": "D294066",
      "clUrl": "https://phabricator.services.mozilla.com/D294066",
      "description": "WebCodecs video encoding is unavailable on Android (bug 1840508), so the\nencode/decode round-trip check gates on VideoEncoder.isConfigSupported and\nis expected to report PRECONDITION_FAILED there.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D294066",
      "email": "chun.m.chang@gmail.com",
      "hash": "45768e45de1fec411e05dd556303d67fe44e9da5",
      "subject": "Bug 2031524 - Add WPT for VideoFrame.copyTo opaque/alpha format conversion r=media-playback-reviewers,padenot"
    },
    "D304620": {
      "author": "Chun-Min Chang",
      "avatar": "https://www.gravatar.com/avatar/8092c68fbfa26b5e17e2265e612bd1c3?d=identicon\u0026s=64",
      "cl": "D304620",
      "clUrl": "https://phabricator.services.mozilla.com/D304620",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D304620",
      "email": "chun.m.chang@gmail.com",
      "hash": "96ca1f7325b1e1b74ddde4d61c62b7f5e293d1f9",
      "subject": "Bug 2044846 - Enable camera VideoEncoder tests on Chrome and custom-car. r=perftest-reviewers,sparky"
    },
    "D306987": {
      "author": "elkal98",
      "avatar": "https://www.gravatar.com/avatar/1a61bfcc43ac59847a61d90806011fa2?d=identicon\u0026s=64",
      "cl": "D306987",
      "clUrl": "https://phabricator.services.mozilla.com/D306987",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D306987",
      "email": "khalid.alhaddad98@gmail.com",
      "hash": "2f9db142371f9af886008e7d370f272ed01f2912",
      "subject": "Bug 2040974 - [remote] Use a custom exit code when Marionette or RemoteAgent fail to start their server. r=whimboo"
    },
    "D310342": {
      "author": "Paul Adenot",
      "avatar": "https://www.gravatar.com/avatar/56566788314477c51b94743ea7f68494?d=identicon\u0026s=64",
      "cl": "D310342",
      "clUrl": "https://phabricator.services.mozilla.com/D310342",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D310342",
      "email": "paul@paul.cx",
      "hash": "5b0bcf1ddb62d381a395288e3af78dd01ec63965",
      "subject": "Bug 2050672 - Make mozscreenshots screenshot crop lossless. r=Gijs"
    },
    "D310343": {
      "author": "Paul Adenot",
      "avatar": "https://www.gravatar.com/avatar/56566788314477c51b94743ea7f68494?d=identicon\u0026s=64",
      "cl": "D310343",
      "clUrl": "https://phabricator.services.mozilla.com/D310343",
      "description": "The identifier referenced were given by design people, possibly\nreferencing some other document / figma, I kept them verbatim.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D310343",
      "email": "paul@paul.cx",
      "hash": "ce7643fa12d1f231a2abc947129c8a248719135a",
      "subject": "Bug 2050672 - Add Nova and ColorScheme mozscreenshots configurations. r=sclements,sthompson,dao"
    },
    "D310344": {
      "author": "Paul Adenot",
      "avatar": "https://www.gravatar.com/avatar/56566788314477c51b94743ea7f68494?d=identicon\u0026s=64",
      "cl": "D310344",
      "clUrl": "https://phabricator.services.mozilla.com/D310344",
      "description": "Nova is now enabled by default, so the plain task already produces the Nova\nscreenshots. The variant is flipped to no-nova to keep capturing the classic\nUI as well. layout.css.devPixelsPerPx is pinned on the task rather than on\nthe variant so both runs are captured at 1x.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D310344",
      "email": "paul@paul.cx",
      "hash": "c3708d2466d96dd697bbe60551e08d71999f58c5",
      "subject": "Bug 2050672 - Add a no-nova variant to mochitest-browser-screenshots. r=jlorenzo"
    },
    "D310345": {
      "author": "Paul Adenot",
      "avatar": "https://www.gravatar.com/avatar/56566788314477c51b94743ea7f68494?d=identicon\u0026s=64",
      "cl": "D310345",
      "clUrl": "https://phabricator.services.mozilla.com/D310345",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D310345",
      "email": "paul@paul.cx",
      "hash": "40e5c7fcb0cf6d94abed7219c36296563e05e0ae",
      "subject": "Bug 2050672 - Re-enable font antialiasing for mozscreenshots on Linux. r=jcristau"
    },
    "D311661": {
      "author": "Masayuki Nakano",
      "avatar": "https://www.gravatar.com/avatar/900caab146bc7a489b3854cf10acf93f?d=identicon\u0026s=64",
      "cl": "D311661",
      "clUrl": "https://phabricator.services.mozilla.com/D311661",
      "description": "The spec does not mention about the flattened tree and Chrome handles\nthe range as in a DOM. E.g., unassigned node is handled, but the nodes\nin the shadow are ignored.\n\nFor the compatibility with Chrome, we should follow their behavior\nfor now.\n\nThe new tests for `Selection.deleteFromDocument` does not pass even\nwith this patch. However, we just call `nsRange::DeleteContents()` [1].\nTherefore, it may be caused by a bug of `Selection::SetBaseAndExtent()`.\nFixing it may require more changes. So, this does not fix the failures.\n\n1. https://searchfox.org/firefox-main/rev/a07b2cb8ff33387a81968a7ed9d59ebdc4dad607/dom/base/Selection.cpp#4205\n\nDifferential Revision: https://phabricator.services.mozilla.com/D311661",
      "email": "masayuki@d-toybox.com",
      "hash": "bc8abb63926115cb0c94d645c81897a3a4a24531",
      "subject": "Bug 2053997 - Make `Range.deleteContents()`, `Range.cloneContents()`, `Range.extractContents()` and `Selection.deleteFromDocument()` work as in the DOM r=smaug"
    },
    "D312746": {
      "author": "Julien Cristau",
      "avatar": "https://www.gravatar.com/avatar/15b9b3783e4671cd882bff1316df14c9?d=identicon\u0026s=64",
      "cl": "D312746",
      "clUrl": "https://phabricator.services.mozilla.com/D312746",
      "description": "This was meant to have happened in bug 1888131.  Better late than never.\n\nKeep using system python on android-hw though, as the scripts we run\nthere rely on it.  And use 3.11 instead of the default 3.9 for windows gtests,\nbecause of\nhttps://searchfox.org/firefox-main/rev/7d438b99e58d16388e4327f2460d14ad4c8be075/browser/app/desktop-launcher/tests/gtest/DesktopLauncherDownloaderTest.cpp#38\n(3.9's http.server doesn't have --protocol,\nhttps://docs.python.org/3/library/http.server.html#cmdoption-http.server-p).\n\nDifferential Revision: https://phabricator.services.mozilla.com/D312746",
      "email": "jcristau@mozilla.com",
      "hash": "413330b70ec72049f8e6d7e9c970595ba7665b23",
      "subject": "Bug 2055837 - use taskcluster-built python for test tasks. r=taskgraph-reviewers,bhearsum"
    },
    "D312747": {
      "author": "Julien Cristau",
      "avatar": "https://www.gravatar.com/avatar/15b9b3783e4671cd882bff1316df14c9?d=identicon\u0026s=64",
      "cl": "D312747",
      "clUrl": "https://phabricator.services.mozilla.com/D312747",
      "description": "Linux mochitest-chrome-a11y remains on system python because it imports\nthe system gi and pyatspi modules.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D312747",
      "email": "jcristau@mozilla.com",
      "hash": "12415db457fc7adc6c13fda6b3ccc6a9e724b3bc",
      "subject": "Bug 2055837 - use taskcluster-built python for mochitest tasks. r=taskgraph-reviewers,bhearsum"
    },
    "D312748": {
      "author": "Julien Cristau",
      "avatar": "https://www.gravatar.com/avatar/15b9b3783e4671cd882bff1316df14c9?d=identicon\u0026s=64",
      "cl": "D312748",
      "clUrl": "https://phabricator.services.mozilla.com/D312748",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D312748",
      "email": "jcristau@mozilla.com",
      "hash": "2b7c61324e7f95c1fe18db8688e3f0e1e93163a5",
      "subject": "Bug 2055837 - use taskcluster-built python for reftest tasks. r=taskgraph-reviewers,bhearsum"
    },
    "D312903": {
      "author": "Mark Hammond",
      "avatar": "https://www.gravatar.com/avatar/892812c8e0a35b4cc1b131ad00c2ebbc?d=identicon\u0026s=64",
      "cl": "D312903",
      "clUrl": "https://phabricator.services.mozilla.com/D312903",
      "description": "The mozilla-central side of the consolidation of SyncEngine and BridgedEngine.\nMoves to a duck-typed bridged engine (which should be fixed), changes to how\nthe last-sync time is managed.\n\nPaired with https://github.com/mozilla/application-services/pull/7483, which\nis being vendored in part 2.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D312903",
      "email": "mhammond@skippinet.com.au",
      "hash": "27ec4a33b145e67f0ddec12aad5217bc91662ffa",
      "subject": "Bug 2056071 (part 1) - Remove app-services BridgedEngine. r=bdk,skhamis,sync-reviewers"
    },
    "D313126": {
      "author": "Updatebot",
      "avatar": "https://www.gravatar.com/avatar/cd270ac15e761e2d4c08e9c9b7cfecca?d=identicon\u0026s=64",
      "cl": "D313126",
      "clUrl": "https://phabricator.services.mozilla.com/D313126",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D313126",
      "email": "updatebot@mozilla.com",
      "hash": "4e097829297ab431dad58dc2435e4ad5fb93a856",
      "subject": "Bug 2056432 - Update googletest to fa005b296f90faec4f352d7ab382287bf6548c8d r=ahal"
    },
    "D313127": {
      "author": "Updatebot",
      "avatar": "https://www.gravatar.com/avatar/cd270ac15e761e2d4c08e9c9b7cfecca?d=identicon\u0026s=64",
      "cl": "D313127",
      "clUrl": "https://phabricator.services.mozilla.com/D313127",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D313127",
      "email": "updatebot@mozilla.com",
      "hash": "035207508158e740641f89eb1247566cedc1cb1e",
      "subject": "Bug 2056432 - Apply mozilla patches for googletest r=ahal"
    },
    "D313488": {
      "author": "Mugurell",
      "avatar": "https://www.gravatar.com/avatar/3ad7e9b38bc893c28662af783f35cf2b?d=identicon\u0026s=64",
      "cl": "D313488",
      "clUrl": "https://phabricator.services.mozilla.com/D313488",
      "description": "This comes to fix 2 issues:\n- avoid `ProtectionsDashboardFragment` knowing of all the features in the app\nthat can request the dashboard to be shown\n- remove from GlobalDirections.ProtectionsDashboard the \"deep_link\" hardcoded\nsource since this direction is meant to be reusable.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D313488",
      "email": "Mugurell@users.noreply.github.com",
      "hash": "60e216b95bb3b4bfc9c07abf2f476d1a19cf8fc7",
      "subject": "Bug 2051483 - Record telemetry about the trackers protection dashboard being opened where this happens r=android-reviewers,jdelorenzo"
    },
    "D313596": {
      "author": "Sarah Chung",
      "avatar": "https://www.gravatar.com/avatar/58f7fae163b2b7a2680fa3a5a0816e9f?d=identicon\u0026s=64",
      "cl": "D313596",
      "clUrl": "https://phabricator.services.mozilla.com/D313596",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D313596",
      "email": "sachung@mozilla.com",
      "hash": "b3ec05da6ac35adeb3f3709583bfa3d681732df8",
      "subject": "Bug 2052973 - add propTypes to screen renderer components r=mimi,omc-reviewers,yazan"
    },
    "D315107": {
      "author": "Sky Ning",
      "avatar": "https://www.gravatar.com/avatar/c5b39d6c7bdc9c6cb5f4c3e6f9ced2c7?d=identicon\u0026s=64",
      "cl": "D315107",
      "clUrl": "https://phabricator.services.mozilla.com/D315107",
      "description": "Many signatures are the same underlying hang, differing only in noise: which\nsystem call, allocator path, or JS trampoline happened to be sampled, or how\ndeep the nested event loop was. Because a signature is the whole stack, every\nsuch variation becomes its own row, so the true size of a hang is split across\nnear-identical entries and the list reads as noise.\n\nThis adds a server-side grouping pass. Following the hang-triage heuristics,\nthe frame that identifies a hang is not the raw leaf, which is usually a lock,\na sleep, an allocation, or an event-loop wait, but the first frame naming\nactual Firefox work. So each stack is normalized down to its meaningful frames\nand bucketed by the leaf of that: walking from the raw leaf downward we skip\nexternal system and third-party libraries, synchronization and allocation\nprimitives, and SpiderMonkey/XPConnect trampolines. Each bucket's common trunk\nand first branching point give the group its name, and every group carries its\nmembers' canonical keys and first-unique frames, so the frontend collapses\nnear-duplicates without fuzzy matching of its own. Only multi-member groups are\nemitted; a signature with no near-duplicate stands for itself.\n\nNormalization only chooses how signatures are bucketed and named. A member key\nremains the canonical key of the signature's full trimmed stack, byte-for-byte\nidentical to what the frontend and the timeseries roll-up compute, so all three\nsides join without any shared hashing and signature identity is unchanged.\nThat key derivation and the stack reconstruction it needs now live in\nstack_keys.py, shared with the timeseries job instead of duplicated per job.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D315107",
      "email": "sning@mozilla.com",
      "hash": "bce42dadfa36eef38c8a55fee8f97f0298066d4b",
      "subject": "Bug 2056370 - Group near-duplicate hang signatures in the aggregation job r=dthayer"
    },
    "D315306": {
      "author": "Sky Ning",
      "avatar": "https://www.gravatar.com/avatar/c5b39d6c7bdc9c6cb5f4c3e6f9ced2c7?d=identicon\u0026s=64",
      "cl": "D315306",
      "clUrl": "https://phabricator.services.mozilla.com/D315306",
      "description": "bhr_timeseries.py (bug 2052962) is a library module: it exposes\nbuild_timeseries() but has no main(), no argparse, and no __main__ block,\nso nothing can actually invoke the roll-up. The daily TaskCluster job runs\nonly bhr_collection.aggregate(), so hangs_timeseries_\u003cthread\u003e.json is never\nproduced, and the dashboard reads that artifact for its Overview page,\nper-signature trend badges, and the 7/28/365-day affected-user windows.\n\nThis adds the entry point: a thin mach wrapper over build_timeseries(),\nmirroring bhr-aggregate. It shares the bhr-aggregate virtualenv, so no new\ndependency is pulled in.\n\nScheduling the roll-up on TaskCluster is the rest of this bug and comes\nseparately, because it needs a decision on state handling first. The\nroll-up keeps a state file across runs, keyed by full canonical signature\nstrings, which measures 244 MB after 30 days and extrapolates to roughly\n2.9 GB over a 365-day window (21.7 MB and ~265 MB respectively when\ngzipped). The published artifact is only 1.05 MB, so the state, not the\noutput, is what makes a daily task awkward.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D315306",
      "email": "sning@mozilla.com",
      "hash": "067f14c0b2563ae7df930f05ff2de0253a644270",
      "subject": "Bug 2059442 - Add a mach bhr-timeseries command to run the roll-up locally r=dthayer"
    },
    "D315323": {
      "author": "Sky Ning",
      "avatar": "https://www.gravatar.com/avatar/c5b39d6c7bdc9c6cb5f4c3e6f9ced2c7?d=identicon\u0026s=64",
      "cl": "D315323",
      "clUrl": "https://phabricator.services.mozilla.com/D315323",
      "description": "The roll-up keeps a state file between runs so it only has to read each\ndaily artifact once. That state is far larger than what it publishes: a\n30-day window measures 244 MB against a 1.05 MB published artifact, and a\n365-day window extrapolates to roughly 2.9 GB. A daily TaskCluster task has\nto fetch the previous state and republish it, so the state, not the output,\nis what makes scheduling the roll-up awkward.\n\nAlmost none of that is data. Measured over 30 days: the map keys (each a\nfull canonical signature string) account for 106 MB, the per-entry `frames`\narray repeats the same stack for another 122 MB, and the ms/count that are\nactually wanted come to under 1 MB. Because the content is so repetitive it\ncompresses about 11x, taking the 30-day state to 22 MB and a full window to\nan estimated 265 MB.\n\nOnly the state file is compressed. The published artifact is fetched\ndirectly by the dashboard, so it stays plain JSON.\n\nThe HLL sketches this compresses are dense, not sparse. Sparse encoding was\ndropped in bug 2052962: serialize() emits the full 2**p register array\nbase64 encoded, because a mostly-zero register array is a long run of one\nbyte and gzips better than a map of scattered indices (0.61 MB dense against\n1.25 MB sparse over a 200-signature, 10-day state). This revision previously\nsat on a pre-drop base, so its diff did compress sparse state; rebased onto\nthe landed dense encoding it no longer does.\n\nAlso renames the leftover `sparse` locals and docstrings in bhr_timeseries\nand bhr_collection, which still described the sketches as sparse after the\nencoding changed and made this diff read as though it were compressing\nsparse maps.\n\nCompressing rather than restructuring is deliberate for now. Dropping the\nduplicated per-day `frames` (build_published only reads the first one per\nkey) would cut the state around 4x on its own and stack with this, but that\nis a format change and this is not; gzip is what unblocks scheduling.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D315323",
      "email": "sning@mozilla.com",
      "hash": "036fef83fb1b5259b8d531f7454a78e2eafb7867",
      "subject": "Bug 2059442 - Store the BHR timeseries state gzipped r=dthayer"
    },
    "D315330": {
      "author": "Sky Ning",
      "avatar": "https://www.gravatar.com/avatar/c5b39d6c7bdc9c6cb5f4c3e6f9ced2c7?d=identicon\u0026s=64",
      "cl": "D315330",
      "clUrl": "https://phabricator.services.mozilla.com/D315330",
      "description": "The cron published hangs_main_\u003cdate\u003e.json but never the roll-up, so\nhangs_timeseries_\u003ctag\u003e.json did not exist. The dashboard fetches that\nartifact for its Overview page, per-signature trend badges, and the\n7/28/365-day affected-user windows, all of which had no data to read.\n\nThe roll-up now runs in the same task, straight after the aggregation.\nIt needs the previous run's state, which is fetched from the index route\nthis task already publishes to\n(gecko.v2.mozilla-central.latest.firefox.bhr-aggregate). Both the state and\nthe published timeseries land in the artifacts directory, so the next run\npicks the state up from today's index entry.\n\nA missing state is not an error. The first run has no predecessor, and\nbuild_timeseries refills any window date absent from state from that day's\nartifact, so a lost or corrupt state costs a slower run rather than a\nfailure. That is also why only the newly aggregated day has to be present\non disk: every earlier day in the window is already summarized in state.\n\nVerified by simulating three consecutive runs, each with a fresh directory\nholding one new daily artifact plus the prior run's state. Each filled only\nits own day and the window accumulated correctly.\n\nTwo scaling limits worth recording, neither of which bites at launch\nbecause the window grows a day at a time:\n\n- State is roughly 0.7 MB gzipped per day, so a full 365-day window lands\n  near 256 MB fetched and republished per run.\n- Loading it costs about 36 MB of RSS per day, extrapolating to ~12.7 GB at\n  a full window.\n\nBoth are consequences of state storing each stack twice, once as the map\nkey and again as a per-day frames array, while ms and count come to under\n1 MB. Dropping the duplicate frames would cut it about 4x and should land\nbefore the window fills.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D315330",
      "email": "sning@mozilla.com",
      "hash": "14294c592b1e1e54657f33e7e1ae657cca487a70",
      "subject": "Bug 2059442 - Run the timeseries roll-up in the daily TaskCluster job r=dthayer"
    },
    "D315395": {
      "author": "Sky Ning",
      "avatar": "https://www.gravatar.com/avatar/c5b39d6c7bdc9c6cb5f4c3e6f9ced2c7?d=identicon\u0026s=64",
      "cl": "D315395",
      "clUrl": "https://phabricator.services.mozilla.com/D315395",
      "description": "Each group member carried its canonical signature key and its variant key as\nfull strings, spelling out funcName and libName for every frame in the stack.\nMeasured on a 2026-04-01 profile that made leafGroups 38.40 MB of a 41.68 MB\nartifact, roughly 90%, against 3.28 MB for the profile itself.\n\nThe columnar profile already interns every one of those strings in\nstringArray, so the group block was denormalizing back out what the rest of\nthe artifact deduplicates. A member is now identified by frameKeys, its stack\nas funcTable indices leaf-\u003eroot, and the variant by a group-local ordinal\nrather than the meaningful stack's key.\n\nSame profile: leafGroups drops to 4.19 MB, 9.2x smaller, with the grouping\nitself unchanged at 1592 groups over 8614 members.\n\nSignature identity is untouched. The frontend resolves frameKeys against the\nsame funcTable and recomputes the canonical key with the function it already\nuses for its own samples, so the two sides still agree byte-for-byte and the\njoin needs no shared hashing. The end-to-end test now asserts that round trip\nrather than the emitted value, since the round trip is what the dashboard\nactually depends on.\n\nThis matters because the dashboard is a static site that fetches the artifact\nover HTTP on page load.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D315395",
      "email": "sning@mozilla.com",
      "hash": "6aa837c3a118d3df4966fbc40dfdd26917aaaad9",
      "subject": "Bug 2059444 - Identify leafGroups members by funcTable index r=dthayer"
    },
    "D315425": {
      "author": "Eitan Isaacson",
      "avatar": "https://www.gravatar.com/avatar/61cc67b9e21c81cd289bea0f592cebfe?d=identicon\u0026s=64",
      "cl": "D315425",
      "clUrl": "https://phabricator.services.mozilla.com/D315425",
      "description": "Match the type of the local actorID with the uint64 mActorID.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D315425",
      "email": "eitan@monotonous.org",
      "hash": "07174ef66d5604603f43c142a33e310cfaec1f08",
      "subject": "Bug 2058652 - Don't truncate actor ID. r=Jamie"
    },
    "D315440": {
      "author": "Andrej Glavic",
      "avatar": "https://www.gravatar.com/avatar/68d765f01bb43512f2fe065284f95d76?d=identicon\u0026s=64",
      "cl": "D315440",
      "clUrl": "https://phabricator.services.mozilla.com/D315440",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D315440",
      "email": "aglavic@mozilla.com",
      "hash": "8d0f1ce5d409865149f90c8e6f2c092a6b15466a",
      "subject": "Bug 2059563 - Run emulated startup tests on autoland, not central. r=perftest-reviewers,mozperftest-reviewers,afinder,sparky"
    },
    "D315444": {
      "author": "Sky Ning",
      "avatar": "https://www.gravatar.com/avatar/c5b39d6c7bdc9c6cb5f4c3e6f9ced2c7?d=identicon\u0026s=64",
      "cl": "D315444",
      "clUrl": "https://phabricator.services.mozilla.com/D315444",
      "description": "Bug 2052961 reconstructs inlined frames, then splices the chain flat into\nthe stack. Once spliced an inlined frame is indistinguishable from a real\ncaller, so the frontend can neither fold inline frames back into their\nenclosing function nor say anything about them. parse_inlines already knows\neach frame's nest level and was throwing it away.\n\nThe depth now rides from symbolicate_stacks, through the heuristics, to the\nprofile, and lands as two columns parallel to stackTable:\n\n- inlineDepth: the frame's position in its inlined chain, 0 for a real\n  frame and 1+ for each inlined callee.\n- inlineRatio: the share of hang count at that node where the frame was\n  inlined, rounded to 2dp.\n\nBoth are per stack node rather than per function, because a node is\n(func, lib, prefix): the same function can be inlined into one caller and\nnot another, and only the node distinguishes those.\n\nThe two differ because signatures merge across builds. A build that inlined\na call and one that did not produce the same reconstructed stack, which is\nexactly bug 2052961's dedup property, so a node can be inlined only some of\nthe time. Depth is therefore max-merged and the ratio carries the split.\nDepth is deliberately NOT part of the grouping key: putting it there would\nstop those builds merging and undo 2052961.\n\nRounding the ratio is not cosmetic. Measured on a real 2026-04-01 artifact,\nunrounded floats cost +48% raw and +87% gzipped, because values like\n0.3333333333333333 defeat compression; at 2dp the same field is +3.0%\ngzipped.\n\nSize, measured by adding the columns to a real inline artifact\n(5.39 MB, 171026 stack nodes) and re-serializing:\n\n  raw JSON  5.39 MB -\u003e 5.90 MB   +9.5%\n  gzipped   1.21 MB -\u003e 1.21 MB   +0.3%\n\nPer funcTable instead of per stack node would be +1.7% raw, but it cannot\nexpress \"inlined here, not there\", which is the distinction the field\nexists to record.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D315444",
      "email": "sning@mozilla.com",
      "hash": "882b0252cfd09d7636ac8388ce241130ca7332cd",
      "subject": "Bug 2059443 - Record inline depth per stack node in the BHR artifact r=dthayer"
    },
    "D315548": {
      "author": "Julien Cristau",
      "avatar": "https://www.gravatar.com/avatar/15b9b3783e4671cd882bff1316df14c9?d=identicon\u0026s=64",
      "cl": "D315548",
      "clUrl": "https://phabricator.services.mozilla.com/D315548",
      "description": "We set PYTHON to `python3` when using taskcluster-built python in CI.\nWhen inherited by a gtest that uses ShellExecuteExW, that doesn't\nresolve to the right thing.  Explicitly set it to sys.executable instead\nso the tests use the same python as the harness.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D315548",
      "email": "jcristau@mozilla.com",
      "hash": "667bdb839726cf613a8ee525f3b10152c17fbf2c",
      "subject": "Bug 2055837 - set PYTHON env variable in gtests runner. r=ci-and-tooling,aryx"
    },
    "D315549": {
      "author": "Julien Cristau",
      "avatar": "https://www.gravatar.com/avatar/15b9b3783e4671cd882bff1316df14c9?d=identicon\u0026s=64",
      "cl": "D315549",
      "clUrl": "https://phabricator.services.mozilla.com/D315549",
      "description": "As we're moving wpt to use taskcluster-built python, those tasks need\ncorresponding libs.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D315549",
      "email": "jcristau@mozilla.com",
      "hash": "dc159f38da928989ba2e7775f11c8d37f4dc6602",
      "subject": "Bug 2055837 - build python3.9 wheels for pycairo and pygobject. r=taskgraph-reviewers,bhearsum"
    },
    "D315582": {
      "author": "alin lastun",
      "avatar": "https://www.gravatar.com/avatar/59aa98683e895ba24835ab02aad86938?d=identicon\u0026s=64",
      "cl": "D315582",
      "clUrl": "https://phabricator.services.mozilla.com/D315582",
      "description": "Added new state and action so the app knows when to show the \"off\" animation.\n\n   Added animation finish callback so the button updates only after the animation ends (no fixed timers).\n\n   Used key() on text changes so Compose creates a fresh animation each time the pill changes.\n\n   Fixed a memory leak by saving only the store reference instead of the whole toolbar object and its views.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D315582",
      "email": "alastun@mozilla.com",
      "hash": "f7131e6c48a46215fa2ded109563bb00e0d05b3b",
      "subject": "Bug 2046496 - Add an \"off\" address bar state for VPN r=android-reviewers,android-l10n-reviewers,jonalmeida,parker"
    },
    "D315668": {
      "author": "Julien Cristau",
      "avatar": "https://www.gravatar.com/avatar/15b9b3783e4671cd882bff1316df14c9?d=identicon\u0026s=64",
      "cl": "D315668",
      "clUrl": "https://phabricator.services.mozilla.com/D315668",
      "description": "WPT subsuites (canvas, webgpu, webcodecs, eme) exist only to split the\nlarge testharness suite into separate CI jobs.\nDefaultLoader.get_manifests applied the subsuite-path exclusion to every\nweb-platform-tests suite, including\nreftest/crashtest/wdspec/print-reftest, which are not split. As a result\ne.g.  canvas reftests and canvas crashtests were excluded from the\ngeneral reftest/crashtest jobs and, since the subsuite jobs only run\n--test-type=testharness, ran nowhere. This is the same class of bug as\nbug 2017833.\n\nOnly apply subsuite partitioning to the testharness suite; the other wpt\nsuites keep every manifest. With crashtests under subsuite paths running\nin the general web-platform-tests-crashtest job again, drop the\n--test-type=crashtest workaround from the webcodecs job to avoid running\nthose crashtests twice.\n\nThe webgpu CTS reftests are the exception: they need the webgpu job's\n--timeout-multiplier (software WebGPU is too slow for the default\nreftest timeout) and just time out in the general reftest job, so\nexclude them there with --exclude-tag=webgpu until a dedicated webgpu\nreftest job exists.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D315668",
      "email": "jcristau@mozilla.com",
      "hash": "b8e19698b97ce1ef5ddc91f5173cccd283c00dcc",
      "subject": "Bug 2057574 - Don't exclude wpt reftests/crashtests that live under subsuite paths r=taskgraph-reviewers,ahal"
    },
    "D315753": {
      "author": "Duncan McIntosh",
      "avatar": "https://www.gravatar.com/avatar/8d2a45b83e51be8dece9ba489225014e?d=identicon\u0026s=64",
      "cl": "D315753",
      "clUrl": "https://phabricator.services.mozilla.com/D315753",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D315753",
      "email": "dmcintosh@mozilla.com",
      "hash": "fa08e6fa65657ad7182d22d0008272e876868653",
      "subject": "Bug 2059240 - Show the Taskbar Tabs page action on moz-extension and use the addon's name for the Taskbar Tab. r=nrishel,hsohaney,extension-reviewers,robwu"
    },
    "D315876": {
      "author": "mayankleoboy1",
      "avatar": "https://www.gravatar.com/avatar/5ce84f7ec7214e92e88ac71d71c63049?d=identicon\u0026s=64",
      "cl": "D315876",
      "clUrl": "https://phabricator.services.mozilla.com/D315876",
      "description": "nsFocusManager::MoveCaretToFocus() cleared the selection, added a new range\ncovering the focused node, and then collapsed to that range's start.  Adding\nthe range in between marked, and then immediately unmarked, the whole\nflattened subtree of its closest common inclusive ancestor, which is what\nmakes focusing a huge dropdown slow.\n\nCollapse to the range's start directly instead.  Adding the range also set\nthe interline position to StartOfNextLine, and collapsing then kept it,\nbecause ComputeCaretAssociationHint() returns the hint it is given untouched\nunless that hint is Before.  Set it explicitly so the caret keeps ending up\nwhere it did.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D315876",
      "email": "mayankleoboy1@gmail.com",
      "hash": "7c518c648ee0fb721729aa0b2052e20a11fe5ebf",
      "subject": "Bug 1968416 - Collapse to the focused node's start directly on focus move. r=masayuki,layout-reviewers,emilio"
    },
    "D316532": {
      "author": "Kenneth Langga",
      "avatar": "https://www.gravatar.com/avatar/70bee2938e11b9e73da2a130a04dcab5?d=identicon\u0026s=64",
      "cl": "D316532",
      "clUrl": "https://phabricator.services.mozilla.com/D316532",
      "description": "This is the first step of a progressive series and deliberately covers\nonly showing a minimal notification: a synchronous AddNotification call\nwith title and body. Actions, replacement, explicit close, and\nnonblocking calls will follow in succeeding commits.\n\nThe backend is selected at service creation when\nShouldUsePortal(PortalKind::Notification) allows the portal; the auto\nbehavior of widget.use-xdg-desktop-portal.notification resolves to\nfalse while the backend is not feature complete, so it is opt-in via\nthe pref for now. There is no runtime fallback to libnotify: if the\nportal cannot show notifications, libnotify is unlikely to work either.\nBuilds without D-Bus no longer create a system alerts service.\n\nKnown limitations until the follow-ups land: portal-shown notifications\ncannot be closed or withdrawn at shutdown, and callback state is\nreleased right after OnAlertShow because alert interaction is not\nimplemented yet, so alertfinished fires while the notification is still\nvisible.\n\nErrors do not disable the backend; a dead session-bus connection is\ndropped and reconnected on the next call. A reply timeout is reported\nas a failure even though the portal may still show the notification\nafterwards.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D316532",
      "email": "klangga@gmail.com",
      "hash": "4ea750cd8dfae3479daa2ad1002794b3bd1b8f34",
      "subject": "Bug 2059329 - Add a pref-gated Rust XDG notification portal backend. r=saschanaz,gtk-reviewers,emilio"
    },
    "D316767": {
      "author": "Luca Greco",
      "avatar": "https://www.gravatar.com/avatar/cb15f57474d95eb43c5d903ae3fa34ae?d=identicon\u0026s=64",
      "cl": "D316767",
      "clUrl": "https://phabricator.services.mozilla.com/D316767",
      "description": "This patch prevents the jiggle effect that was hit by the theme preview SVG files while the users\nis scrolling the about:addons themes list view by adding to each of the theme preview SVG images\nan explicit viewBox attribute along with setting preserveAspectRatio to none.\n\nThe issue seems to have been triggered because the computed height is a non-integer number and at paint time\nthat non-integer height was snapped based on the element position, which along with preserving the aspect\nratio was then triggering the jiggle effect (because the height was being snapped to 89 or 90 based on the\nelement position while scrolling the page).\n\nSetting preserveAspectRatio prevents the jiggling effect without a user noticeable visual difference for the\ntheme preview images, and achieved with changes restricted to the SVG images (no webcomponent or test logic\nto adjust).\n\nThis patch is also introducing an additional test task which verifier that all the bundled theme preview SVG files\nare including the expected SVG DOM attributes (in particular preserveAspectRatio and viewBox, and also checks that\nwidth and height are set consistently with the viewBox attribute).\n\nDifferential Revision: https://phabricator.services.mozilla.com/D316767",
      "email": "lgreco@mozilla.com",
      "hash": "4add51867c5e7e010bb2a1c91263a4be591fa809",
      "subject": "Bug 2059917 - Fix jiggle effect while scrolling by adding preserveAspectRatio and viewBox to all bundled theme preview svg files. r=mstriemer,desktop-theme-reviewers,zombie"
    },
    "D316885": {
      "author": "Andrej Glavic",
      "avatar": "https://www.gravatar.com/avatar/68d765f01bb43512f2fe065284f95d76?d=identicon\u0026s=64",
      "cl": "D316885",
      "clUrl": "https://phabricator.services.mozilla.com/D316885",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D316885",
      "email": "aglavic@mozilla.com",
      "hash": "a665bd538653afa035d4c4739792d67d677f0f6f",
      "subject": "Bug 2061425 - Replace mozperftest tests using hg clone of repo with tarball download. r=perftest-reviewers,mozperftest-reviewers,sparky"
    },
    "D316959": {
      "author": "mike a",
      "avatar": "https://www.gravatar.com/avatar/fdb71788c694eea6a9e8a29cddd6e606?d=identicon\u0026s=64",
      "cl": "D316959",
      "clUrl": "https://phabricator.services.mozilla.com/D316959",
      "description": "The intention behind the Recomended was to be consistent with the\ntoolkit api that treats specifically null as the default, \"recommended\",\noption, so removing the ability to override it through the constructor\nmakes code more resilent.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D316959",
      "email": "mavduevskiy@mozilla.com",
      "hash": "734e568c3ff6e4dfda7d3099be6120809f0c87df",
      "subject": "Bug 2062457 - Refactor Recommended location into an object r=android-reviewers,jonalmeida,Roger,gmalekpour"
    },
    "D317056": {
      "author": "Rémi Papillié",
      "avatar": "https://www.gravatar.com/avatar/6dbd13dd334657fae5d8837fb3cdde16?d=identicon\u0026s=64",
      "cl": "D317056",
      "clUrl": "https://phabricator.services.mozilla.com/D317056",
      "description": "Following the first implementation of CSS corner shape rendering (see bug 2035317),\nthe struct wr::BorderRadius now has four new fields for the corner shapes, which\nwere left uninitialized here.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D317056",
      "email": "rpapillie@mozilla.com",
      "hash": "9f1a32cbd52eefc252e4d1fd505dcbda6f78fa04",
      "subject": "Bug 2047627 - Fix uninitialized corner shape values in theme drawing. r=gfx-reviewers,nical"
    },
    "D317211": {
      "author": "kpatenio",
      "avatar": "https://www.gravatar.com/avatar/3ba00bb99f41523d041bb1e150ee7de4?d=identicon\u0026s=64",
      "cl": "D317211",
      "clUrl": "https://phabricator.services.mozilla.com/D317211",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D317211",
      "email": "kpatenio@mozilla.com",
      "hash": "869d83d9f862c98acdd68b0b2e197f92138b60fd",
      "subject": "Bug 2050745 - update overflow option icon colors to match sidebar icon colors for themes supporting --panel-icon-fill r=desktop-theme-reviewers,emilio,sclements"
    },
    "D317252": {
      "author": "mayankleoboy1",
      "avatar": "https://www.gravatar.com/avatar/5ce84f7ec7214e92e88ac71d71c63049?d=identicon\u0026s=64",
      "cl": "D317252",
      "clUrl": "https://phabricator.services.mozilla.com/D317252",
      "description": "Selection::CollapseInternal() unregistered every current range and then\nregistered a new collapsed one.  When both use the same node as their closest\ncommon inclusive ancestor, that node's range list momentarily became empty, so\nUnregisterClosestCommonInclusiveAncestor() unmarked its whole flattened\nsubtree and the following MarkDescendants() marked it again.\n\nRegister the new range first.  The node's list then never becomes empty, and\nthe existing guards in both functions skip the two walks on their own.  The\nsame holds when either node is an ancestor of the other, where the walk that\ndoes happen now stops at the other node instead of covering it.\n\nAddRangesForSelectableNodes() adds nothing at all when it goes through\nAddRangesForUserSelectableNodes() and no part of the range is selectable,\nwhich leaves the registration backed by no range of this selection.  Clear()\nhas emptied the ranges by then, so the range took index 0 if it was added at\nall: unregister it again when it was not, and on the error path.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D317252",
      "email": "mayankleoboy1@gmail.com",
      "hash": "52a52f64306f9113dab5a028ba7472c677c46eb9",
      "subject": "Bug 1968416 - Register the collapsed range before clearing the old ones. r=masayuki"
    },
    "D317377": {
      "author": "Gabriel Luong",
      "avatar": "https://www.gravatar.com/avatar/8d4b3dd6d3dd0178956876e108d984c6?d=identicon\u0026s=64",
      "cl": "D317377",
      "clUrl": "https://phabricator.services.mozilla.com/D317377",
      "description": "- Load about:home bypassing the load URI delegate, which still adds about:home to the session history so navigating back returns to the homepage.\n- This prevents hitting unwanted loads of about:home and navigation to the native homepage when about:home engine session is recreated from the homepage tab being suspended or in an event where the engine session has been unloaded.\n- When we close all the tabs and undo, keep track selected tab before the tab removal so that when we undo we don't even up showing a blank browser tab because we restored the homepage tab.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D317377",
      "email": "gabriel.luong@gmail.com",
      "hash": "67797727c73a12ee0bf36e55f6e308624a6989bf",
      "subject": "Bug 2056446 - Bypass the load URI delegate when loading about:home r=android-reviewers,jonalmeida"
    },
    "D317632": {
      "author": "Luca Greco",
      "avatar": "https://www.gravatar.com/avatar/cb15f57474d95eb43c5d903ae3fa34ae?d=identicon\u0026s=64",
      "cl": "D317632",
      "clUrl": "https://phabricator.services.mozilla.com/D317632",
      "description": "Removes activeAddons/theme/GMPlugins test coverage from TelemetryEnvironment and\nAddonManager tests, ahead of removing the environment addons properties as part\nof the child revision.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D317632",
      "email": "lgreco@mozilla.com",
      "hash": "a449dabf881cabf50f4fcd6f369b85de830a6398",
      "subject": "Bug 2055613 - Prepare telemetry/addons tests for legacy environment addons removal r=chutten,robwu"
    },
    "D317633": {
      "author": "Luca Greco",
      "avatar": "https://www.gravatar.com/avatar/cb15f57474d95eb43c5d903ae3fa34ae?d=identicon\u0026s=64",
      "cl": "D317633",
      "clUrl": "https://phabricator.services.mozilla.com/D317633",
      "description": "Removes environment.addons along with cleaning up about:telemetry and EnvironmentAddonBuilder from\nlogic that was mainly needed due to the legacy telemetry environment.\n\nAlso updates the docs and and decrements the arewegleanyet Legacy/Glean counters.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D317633",
      "email": "lgreco@mozilla.com",
      "hash": "0681535597e70869dae0146f57f1ed9938d8027e",
      "subject": "Bug 2055613 - Remove activeAddons/theme/activeGMPlugins from the legacy Telemetry environment r=chutten,robwu"
    },
    "D317835": {
      "author": "Caleb Chan",
      "avatar": "https://www.gravatar.com/avatar/2238a75309adf73255119dfc6f497cf3?d=identicon\u0026s=64",
      "cl": "D317835",
      "clUrl": "https://phabricator.services.mozilla.com/D317835",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D317835",
      "email": "cachan@mozilla.com",
      "hash": "b5c6357dc90d8469ecd94e788aac34f3b468c585",
      "subject": "Bug 1897231 - Split the preference into two for recording when a search engine was blocked. r=Standard8"
    },
    "D317862": {
      "author": "Yubin Jamora",
      "avatar": "https://www.gravatar.com/avatar/c21ec870d5a27b600be6b5b58aba1a58?d=identicon\u0026s=64",
      "cl": "D317862",
      "clUrl": "https://phabricator.services.mozilla.com/D317862",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D317862",
      "email": "yjamora@mozilla.com",
      "hash": "56a0df9cc6fc1e052b0cec1f409fa314ae8dafdd",
      "subject": "Bug 2060620 - Add localized strings, add keyboard navigation tests and clean up Smart Window command palette r=ngrato,fluent-reviewers,urlbar-reviewers,daisuke,bolsson"
    },
    "D317865": {
      "author": "Sarah Chung",
      "avatar": "https://www.gravatar.com/avatar/58f7fae163b2b7a2680fa3a5a0816e9f?d=identicon\u0026s=64",
      "cl": "D317865",
      "clUrl": "https://phabricator.services.mozilla.com/D317865",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D317865",
      "email": "sachung@mozilla.com",
      "hash": "62007c6b55c829516df4f26a5a04b0ab1c53c971",
      "subject": "Bug 2033556 - add full bleed responsive image options for ActivationWindowMessage r=omc-reviewers,nina-py,andhuang"
    },
    "D317956": {
      "author": "Dale Harvey",
      "avatar": "https://www.gravatar.com/avatar/030451d8cfc268d666bae9a7fe8d10ec?d=identicon\u0026s=64",
      "cl": "D317956",
      "clUrl": "https://phabricator.services.mozilla.com/D317956",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D317956",
      "email": "dale@arandomurl.com",
      "hash": "05d579ece18a136fefc53d6fd5d76e6da7890dc7",
      "subject": "Bug 2062783 - Use moz-src for sessionstore. r=Gijs,omc-reviewers,migration-reviewers,firefox-desktop-core-reviewers ,jswinarton,hsohaney,sclements,aminomancer,perftest-reviewers,kshampur"
    },
    "D317992": {
      "author": "Chun-Min Chang",
      "avatar": "https://www.gravatar.com/avatar/8092c68fbfa26b5e17e2265e612bd1c3?d=identicon\u0026s=64",
      "cl": "D317992",
      "clUrl": "https://phabricator.services.mozilla.com/D317992",
      "description": "Init() sizes its source buffer from the luma plane length, while the image\ncreators lay out two chroma planes of ceil(width / 2) x ceil(height / 2). Those\ntwo agree only when both dimensions are even.\n\nThe test asserts every chroma byte of the generated image holds the value Init()\nwrote, at odd and even sizes. It fails until the following patch.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D317992",
      "email": "chun.m.chang@gmail.com",
      "hash": "720db4e284881146b7b3936b2f6580ba5b131257",
      "subject": "Bug 2062451 - Add gtest for YUVBufferGenerator's chroma plane sizing. r=media-playback-reviewers,alwu"
    },
    "D317993": {
      "author": "Chun-Min Chang",
      "avatar": "https://www.gravatar.com/avatar/8092c68fbfa26b5e17e2265e612bd1c3?d=identicon\u0026s=64",
      "cl": "D317993",
      "clUrl": "https://phabricator.services.mozilla.com/D317993",
      "description": "Init() derived the chroma region from the luma plane length, which matches the\nI420 chroma size only when both dimensions are even.\n\nBoth Init() and CreateI420Image now take the chroma size from gfx::ChromaSize(),\nthe helper PlanarYCbCrData::CbCrDataSize() already uses, so the buffer size and\nthe plane layout cannot disagree. That removes the four hand-rolled (x + 1) / 2\nexpressions this file carried, which is what let the two sides drift apart.\n\nPre-existing rather than a regression: the expression has been here at least\nsince it moved into this file in bug 1423253, and every current caller passes\neven dimensions, for which the old and new forms are numerically identical.\nVideoFrameConverterTest, MediaDataEncoder and VideoTrackEncoder pass unchanged.\n\nMakes the preceding test pass.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D317993",
      "email": "chun.m.chang@gmail.com",
      "hash": "ad7d7886b75411cc90cf4ae990efa9300e78b28b",
      "subject": "Bug 2062451 - Size YUVBufferGenerator's source buffer for odd dimensions. r=media-playback-reviewers,alwu"
    },
    "D318090": {
      "author": "stransky",
      "avatar": "https://www.gravatar.com/avatar/1ad575baf124ff5058f4d44d5b066a29?d=identicon\u0026s=64",
      "cl": "D318090",
      "clUrl": "https://phabricator.services.mozilla.com/D318090",
      "description": "- Add Vulkan HW decode of free formats to ffvpx from ffmpeg 9917308cc209a885c6870f0345905104c6ea8799\n- Use MOZ_USE_HWDECODE_VULKAN to build Vulkan HW decode support\n\nDifferential Revision: https://phabricator.services.mozilla.com/D318090",
      "email": "stransky@redhat.com",
      "hash": "65322012dd7c0fb00473733b9aab360a20d2f6cc",
      "subject": "Bug 2045971 [Linux] Add Vulkan support to ffvpx r=tboiko,padenot"
    },
    "D318170": {
      "author": "Chun-Min Chang",
      "avatar": "https://www.gravatar.com/avatar/8092c68fbfa26b5e17e2265e612bd1c3?d=identicon\u0026s=64",
      "cl": "D318170",
      "clUrl": "https://phabricator.services.mozilla.com/D318170",
      "description": "Copy packed source pixels into an owned CVPixelBuffer while their map is live, so VideoToolbox never receives a scoped map address.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D318170",
      "email": "chun.m.chang@gmail.com",
      "hash": "e52670d68dfadad69fa74a56d2b991876cfadb7b",
      "subject": "Bug 2059965 - Copy mapped AppleVT inputs before submission r=media-playback-reviewers,alwu"
    },
    "D318174": {
      "author": "nickgrato",
      "avatar": "https://www.gravatar.com/avatar/a7b6ca56863cce809ebb726fa44ef43b?d=identicon\u0026s=64",
      "cl": "D318174",
      "clUrl": "https://phabricator.services.mozilla.com/D318174",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D318174",
      "email": "ngrato@gmail.com",
      "hash": "7752e222b67506c57d50132ef9b6470ec285a92b",
      "subject": "Bug 2062113 - Create Monitor Tool bar button r=jlewis,fluent-reviewers,desktop-theme-reviewers,sfoster,bolsson"
    },
    "D318178": {
      "author": "Yubin Jamora",
      "avatar": "https://www.gravatar.com/avatar/c21ec870d5a27b600be6b5b58aba1a58?d=identicon\u0026s=64",
      "cl": "D318178",
      "clUrl": "https://phabricator.services.mozilla.com/D318178",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D318178",
      "email": "yjamora@mozilla.com",
      "hash": "300c371b029b0c67283ad42b32bf26d7e07e6833",
      "subject": "Bug 2062573 - Execute the create task form on Enter key in Smart Window r=urlbar-reviewers,ngrato,daisuke"
    },
    "D318181": {
      "author": "Yubin Jamora",
      "avatar": "https://www.gravatar.com/avatar/c21ec870d5a27b600be6b5b58aba1a58?d=identicon\u0026s=64",
      "cl": "D318181",
      "clUrl": "https://phabricator.services.mozilla.com/D318181",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D318181",
      "email": "yjamora@mozilla.com",
      "hash": "4db7f49e8c32b97dd9b2cb920bccbdbcdf805df8",
      "subject": "Bug 2062597 - Enable to create the Create task in Smart Window full chat mode r=urlbar-reviewers,ngrato,daisuke"
    },
    "D318193": {
      "author": "Sky Ning",
      "avatar": "https://www.gravatar.com/avatar/c5b39d6c7bdc9c6cb5f4c3e6f9ced2c7?d=identicon\u0026s=64",
      "cl": "D318193",
      "clUrl": "https://phabricator.services.mozilla.com/D318193",
      "description": "The aggregation job's service account is granted on\nfirefox_desktop.hang_report, which carries far more than the job reads:\nsession id, geo, ISP, attribution, experiments, user-agent data and\nIP-derived metadata.\n\nfirefox_desktop.hang_report_redacted (DENG-11394, bigquery-etl #9778) is a\nnarrow allow-list projection of the same stable table exposing only the\ncolumns this query selects. Point the job at it so the wide grant can be\nrevoked.\n\nNo data change: the generated hang_report view is SELECT * plus derived\ncolumns (app_version_*, is_bot_generated) and filters no rows, so every\ncolumn read here is identical through either view.\n\nLanding order: the view must be deployed before this lands, and the grant on\nfirefox_desktop.hang_report is only revoked afterwards. Revoking before this\nlands would break the running cron.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D318193",
      "email": "sning@mozilla.com",
      "hash": "5faae4ff36e5157838f67b1d202019e294e816ba",
      "subject": "Bug 2062679 - Read BHR pings from the redacted hang_report view r=dthayer"
    },
    "D318207": {
      "author": "Maile Lucks",
      "avatar": "https://www.gravatar.com/avatar/fb3af5da6f8f1ea9223d3d7223bcbc79?d=identicon\u0026s=64",
      "cl": "D318207",
      "clUrl": "https://phabricator.services.mozilla.com/D318207",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D318207",
      "email": "maile.lucks@gmail.com",
      "hash": "d9febaaa4c5f0c4890585fddaf09fec3e7f934ab",
      "subject": "Bug 2061040 - Create SQLite Base Class and new DB setup for AITab - r=omarg"
    },
    "D318221": {
      "author": "Randell Jesup",
      "avatar": "https://www.gravatar.com/avatar/707a3249883bc1c42dbd54339c8daf44?d=identicon\u0026s=64",
      "cl": "D318221",
      "clUrl": "https://phabricator.services.mozilla.com/D318221",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D318221",
      "email": "rjesup@mozilla.com",
      "hash": "e8ff0efe95edd43df51f9e0cb8b5d9f54f879cf7",
      "subject": "Bug 2056051: Don't cancel the ImageDecoder read request from cycle-collection unlink r=dom-core-reviewers,media-playback-reviewers,smaug,aosmond"
    },
    "D318222": {
      "author": "Randell Jesup",
      "avatar": "https://www.gravatar.com/avatar/707a3249883bc1c42dbd54339c8daf44?d=identicon\u0026s=64",
      "cl": "D318222",
      "clUrl": "https://phabricator.services.mozilla.com/D318222",
      "description": "ImageDecoderReadRequest::Cancel() was MOZ_CAN_RUN_SCRIPT_BOUNDARY, which let\nDestroy() call it without Destroy()'s own callers -- including cycle-collection\nUnlink and ~ImageDecoder -- needing MOZ_CAN_RUN_SCRIPT. That's the annotation\ngap the previous patch closed at runtime with a bool parameter; the analyzer\ncan't see through that bool, so it never actually verified the reentrancy is\ngone.\n\nSplit the teardown into textually distinct paths instead, so the analyzer can\nverify it directly:\n\n- ImageDecoderReadRequest: Destroy() (never cancels, plain) vs.\n  DestroyAndCancel() (MOZ_CAN_RUN_SCRIPT, calls the now unboundaried Cancel()).\n- ImageDecoder: CloseWithoutRef() (plain) vs. CloseAndCancelWithoutRef()\n  (MOZ_CAN_RUN_SCRIPT), sharing teardown via CloseCommon(). Unlink, ~ImageDecoder,\n  and OnShutdown() use the plain path; Close() uses the cancelling one.\n\nOnShutdown() moving to the plain path is a real behavior change, not just an\nannotation split: it goes through nsIObserver::Observe() (main-thread shutdown)\nor a WeakWorkerRef callback (worker shutdown), and Observe() is a fixed\ninterface method that can never be MOZ_CAN_RUN_SCRIPT. Global teardown isn't a\nsafe place to run page script either, so this puts it on the same footing as\nUnlink/~ImageDecoder rather than trying to thread script-safety through\nnsIObserver.\n\nCloseCommon() also now runs the read-request step last, after mTracks/\nmCompletePromise/mShutdownWatcher are already torn down and mClosed is set, so\nany reentrancy from the cancel callback sees a fully-closed decoder instead of\na half-torn-down one.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D318222",
      "email": "rjesup@mozilla.com",
      "hash": "324adfbd3024ea6c35c60e444a6c67b10a8c29d1",
      "subject": "Bug 2063064: Restructure ImageDecoderReadRequest teardown to remove its CAN_RUN_SCRIPT_BOUNDARY r=media-playback-reviewers,aosmond"
    },
    "D318388": {
      "author": "Jan de Mooij",
      "avatar": "https://www.gravatar.com/avatar/709c5feed942bf99f098bb24aa1cc86f?d=identicon\u0026s=64",
      "cl": "D318388",
      "clUrl": "https://phabricator.services.mozilla.com/D318388",
      "description": "Adding properties to builtin prototypes no longer works when we enable `freezeBuiltins` for chrome windows.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D318388",
      "email": "jdemooij@mozilla.com",
      "hash": "885c3e7dca9ce10144620c7c6596d162176d0350",
      "subject": "Bug 2060837 part 1 - Don't add Uint8Array.prototype.equals in IOUtils tests. r=robwu"
    },
    "D318389": {
      "author": "Jan de Mooij",
      "avatar": "https://www.gravatar.com/avatar/709c5feed942bf99f098bb24aa1cc86f?d=identicon\u0026s=64",
      "cl": "D318389",
      "clUrl": "https://phabricator.services.mozilla.com/D318389",
      "description": "We want to enable `freezeBuiltins` for chrome windows, and with that change we can no\nlonger add properties to `Object.prototype`.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D318389",
      "email": "jdemooij@mozilla.com",
      "hash": "4e5be12bb16273702d91e5e26d7e161e095f0c80",
      "subject": "Bug 2060837 part 2 - Change import map tests for bug 1979050 to plain mochitests. r=allstarschh"
    },
    "D318390": {
      "author": "Jan de Mooij",
      "avatar": "https://www.gravatar.com/avatar/709c5feed942bf99f098bb24aa1cc86f?d=identicon\u0026s=64",
      "cl": "D318390",
      "clUrl": "https://phabricator.services.mozilla.com/D318390",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D318390",
      "email": "jdemooij@mozilla.com",
      "hash": "ce2d524da1a182bab73c7a78f7b036467d89cd28",
      "subject": "Bug 2060837 part 3 - Enable freezeBuiltins for chrome windows. r=robwu,webidl,emilio"
    },
    "D318434": {
      "author": "Dão Gottwald",
      "avatar": "https://www.gravatar.com/avatar/45dfe136efbb8e5f89eb0b21775ab195?d=identicon\u0026s=64",
      "cl": "D318434",
      "clUrl": "https://phabricator.services.mozilla.com/D318434",
      "description": "The accessors over internal state, the split view id counter and the tab group reopen telemetry did more than forward, and some members lose their underscore prefix as the public API. The object is no longer frozen, since it now holds the mutable session state, and the browser-taking getCurrentEpoch is gone for lack of callers.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D318434",
      "email": "dao@mozilla.com",
      "hash": "1bbb5d7b3d6fd019fb99e1106c31f691f821ff84",
      "subject": "Bug 1892761 - Fold the SessionStore shell object into SessionStoreInternal and export that under the public name. r=sfoster"
    },
    "D318490": {
      "author": "Olli Pettay",
      "avatar": "https://www.gravatar.com/avatar/13772facadedc1bff63debd9e596f5e2?d=identicon\u0026s=64",
      "cl": "D318490",
      "clUrl": "https://phabricator.services.mozilla.com/D318490",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D318490",
      "email": "Olli.Pettay@helsinki.fi",
      "hash": "64a1e2a8634556c0e581892187c7a87255c438fc",
      "subject": "Bug 2057817 - ensure browser id handling is consistent, r=farre"
    },
    "D318502": {
      "author": "Emilio Cobos Álvarez",
      "avatar": "https://www.gravatar.com/avatar/1d91d22a4892f16f744b31fd4286144e?d=identicon\u0026s=64",
      "cl": "D318502",
      "clUrl": "https://phabricator.services.mozilla.com/D318502",
      "description": "We need to do it on both because we have some synthesized mouse events\nwhich don't generate pointer events.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D318502",
      "email": "emilio@crisal.io",
      "hash": "bbb3133f422869b52a9f06232b669490e140b6cf",
      "subject": "Bug 2062197 - Update hover state on pointer events as well as mouse events. r=smaug"
    },
    "D318506": {
      "author": "Valentin Pollet",
      "avatar": "https://www.gravatar.com/avatar/ec6bbf3c5be00645b45d5aac7ae9923c?d=identicon\u0026s=64",
      "cl": "D318506",
      "clUrl": "https://phabricator.services.mozilla.com/D318506",
      "description": "speecht5 and summarizer exercise no shipping configuration. Also clean up\nafter a failed engine init, fix the suggest-inference memory unit, and\ndrop multi_perf's generated declarations, which match no subtest.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D318506",
      "email": "vpollet@mozilla.com",
      "hash": "64b7b1e9a97eb1c1b21b97f26450b9e8f776235b",
      "subject": "Bug 2062960 - Part 1: Drop two stale ML perftests, fix perftest metadata r=perftest-reviewers,mozperftest-reviewers,taskgraph-reviewers,ai-platform-reviewers,kshampur,nordzilla,ahal"
    },
    "D318508": {
      "author": "Valentin Pollet",
      "avatar": "https://www.gravatar.com/avatar/ec6bbf3c5be00645b45d5aac7ae9923c?d=identicon\u0026s=64",
      "cl": "D318508",
      "clUrl": "https://phabricator.services.mozilla.com/D318508",
      "description": "Each ONNX-related perf task becomes a -native and a -wasm job\npinned via MOZ_ML_BACKENDS; a backend that cannot run fails its job.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D318508",
      "email": "vpollet@mozilla.com",
      "hash": "5cfc8d25081992e0800431c55a9cf6a83dc8cd28",
      "subject": "Bug 2062960 - Part 2: Run the ONNX perftests on both the native and wasm backends r=perftest-reviewers,mozperftest-reviewers,ai-platform-reviewers,nordzilla,kshampur"
    },
    "D318509": {
      "author": "Valentin Pollet",
      "avatar": "https://www.gravatar.com/avatar/ec6bbf3c5be00645b45d5aac7ae9923c?d=identicon\u0026s=64",
      "cl": "D318509",
      "clUrl": "https://phabricator.services.mozilla.com/D318509",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D318509",
      "email": "vpollet@mozilla.com",
      "hash": "5921a7bf57443e2580c2ade7a2fb741ef70209cf",
      "subject": "Bug 2062960 - Part 3: Move the ML perftests to Ubuntu 24.04 r=kshampur,ai-platform-reviewers,nordzilla"
    },
    "D318528": {
      "author": "mayankleoboy1",
      "avatar": "https://www.gravatar.com/avatar/5ce84f7ec7214e92e88ac71d71c63049?d=identicon\u0026s=64",
      "cl": "D318528",
      "clUrl": "https://phabricator.services.mozilla.com/D318528",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D318528",
      "email": "mayankleoboy1@gmail.com",
      "hash": "dbcab79eab7cb1105f734958875663028acd7f44",
      "subject": "Bug 2062885 - Fix O(N^2) complexity in BytecodeAnalysis JSOp::Try handling by using a sorted two-pointer approach. r=jandem"
    },
    "D318591": {
      "author": "Chun-Min Chang",
      "avatar": "https://www.gravatar.com/avatar/8092c68fbfa26b5e17e2265e612bd1c3?d=identicon\u0026s=64",
      "cl": "D318591",
      "clUrl": "https://phabricator.services.mozilla.com/D318591",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D318591",
      "email": "chun.m.chang@gmail.com",
      "hash": "7bbe3188d08d865bd2ebbfe919e58cb18c7eb1a7",
      "subject": "Bug 2044846 - Add per-test Chrome arguments to Raptor. r=perftest-reviewers,sparky"
    },
    "D318592": {
      "author": "Bryan Johns",
      "avatar": "https://www.gravatar.com/avatar/26880c326c36e30d2e428dc2ac90e5e4?d=identicon\u0026s=64",
      "cl": "D318592",
      "clUrl": "https://phabricator.services.mozilla.com/D318592",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D318592",
      "email": "bjohns@mozilla.com",
      "hash": "402e7c158bd62624672b607a8fd9f95e44ade7d0",
      "subject": "Bug 2052356 - Moved getFxAToken call before engine creation; cached RS records r=tetchart,echa"
    },
    "D318624": {
      "author": "Sotaro Ikeda",
      "avatar": "https://www.gravatar.com/avatar/a0c6bcb88fdc08a4e55f4fcf65cf0428?d=identicon\u0026s=64",
      "cl": "D318624",
      "clUrl": "https://phabricator.services.mozilla.com/D318624",
      "description": "ANGLE Metal backend usage is also going to disable RenderExternalTextureHost usage.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D318624",
      "email": "sotaro.ikeda.g@gmail.com",
      "hash": "a71279f779e884b0957c0e008b67d76bc16f2b37",
      "subject": "Bug 2061532 r=gfx-reviewers,lsalzman"
    },
    "D318634": {
      "author": "Glenn Watson",
      "avatar": "https://www.gravatar.com/avatar/3d823baa293744dbe3cbe8ce33d77065?d=identicon\u0026s=64",
      "cl": "D318634",
      "clUrl": "https://phabricator.services.mozilla.com/D318634",
      "description": "The field was set on the interned value and then dropped: LinearGradientKey::new\ncopies eight of the nine fields and never that one, and nothing read it. Not a\nlost mask either - both call sites pass EdgeMask::all(), which is what\nPrimKeyCommonData::transformed_aa_edges already carries, so it was redundant\nrather than broken. A linear gradient that wants a narrowed mask can compute it\nand put it in the key's common data.\n\nLinearGradient is never itself hashed or compared - it goes straight into\nLinearGradientKey::new - so dropping the field cannot change interning. The u8\nwas sitting in padding, so the struct is still 72 bytes and the size\nexpectations are unchanged.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D318634",
      "email": "git@chillybin.org",
      "hash": "471920554c76ad4c3bbe8896765172cab6db12ce",
      "subject": "Bug 2063483 - Pt 1 - Remove the write-only LinearGradient::edge_aa_mask r=gfx-reviewers,nical"
    },
    "D318635": {
      "author": "Glenn Watson",
      "avatar": "https://www.gravatar.com/avatar/3d823baa293744dbe3cbe8ce33d77065?d=identicon\u0026s=64",
      "cl": "D318635",
      "clUrl": "https://phabricator.services.mozilla.com/D318635",
      "description": "create_linear_gradient_prim, create_radial_gradient_prim and\ncreate_conic_gradient_prim were methods on SceneBuilder that never touched self:\npure functions of item data plus simplify_repeated_primitive and\ncompute_stretch_ratio, both of which already live in\nwebrender_api::prim_geometry. They move there verbatim, next to the gradient\nhelpers that are already there.\n\nThese have two quirks worth not rediscovering by accident, and both are now\ncommented where they live:\n\n- the simplify_repeated_primitive call discards its rect mutation and keeps only\n  the tile_spacing one, and\n- stretch_ratio resolves against the incoming prim rect rather than the\n  simplified one.\n\nThe conic builder took its stops as an ItemRange and converted them inside,\nwhile the other two took Vec\u003cGradientStopKey\u003e; all three take the vector now, so\nthe two call sites that fed the conic one go through read_gradient_stops like\neverything else.\n\nNo behaviour change.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D318635",
      "email": "git@chillybin.org",
      "hash": "bc138ad7018d5a1cb6a0e6d0de023d8252ec3841",
      "subject": "Bug 2063483 - Pt 2 - Move the gradient prim builders into webrender_api r=gfx-reviewers,nical"
    },
    "D318636": {
      "author": "Glenn Watson",
      "avatar": "https://www.gravatar.com/avatar/3d823baa293744dbe3cbe8ce33d77065?d=identicon\u0026s=64",
      "cl": "D318636",
      "clUrl": "https://phabricator.services.mozilla.com/D318636",
      "description": "create_gradient normalized the stops and then pushed them into the item stream\nitself, leaving push_gradient to record an item that referred back to them. That\nis why gradients \"must be pushed in the order they're created\" - and, since a\nSetGradientStops overwrites the previous one, why they really had to be created\nand pushed strictly one at a time, a sharper constraint than the note admitted.\n\nThe stops describe the gradient, so they now travel with it: create_* returns\nthem alongside the gradient and the matching push_* takes them, the way\npush_text already takes its glyphs. That deletes the ordering hazard rather than\nrestating it.\n\npush_border takes them too, for a NinePatchBorderSource gradient; the plain and\nimage border paths pass an empty slice, which push_stops ignores exactly as it\ndid when nothing called it for them.\n\nNo wire change: push_stops now runs inside push_* rather than in the create_*\nimmediately preceding it, which is the same point in the stream.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D318636",
      "email": "git@chillybin.org",
      "hash": "c6c52d7a1d32618862e63c2642b39cfb7a9a0b6a",
      "subject": "Bug 2063483 - Pt 3 - Hand gradient stops to push_* instead of the display list r=gfx-reviewers,nical"
    },
    "D318637": {
      "author": "Glenn Watson",
      "avatar": "https://www.gravatar.com/avatar/3d823baa293744dbe3cbe8ce33d77065?d=identicon\u0026s=64",
      "cl": "D318637",
      "clUrl": "https://phabricator.services.mozilla.com/D318637",
      "description": "Two stacks walked the same item stream and had to agree: the display list\nbuilder recorded the raster space its caller requested, and the scene builder\nresolved that against the enclosing contexts a second time.\n\nResolve once, on the builder, and record the resolved value in the item.\npush_stacking_context keeps the stack the resolution needs, and the scene\nbuilder now pushes what the item tells it rather than recomputing it. Its stack\nstays, because add_text still needs the innermost value, but it no longer\ncarries a copy of the rule.\n\nGecko is unaffected: it passes what it wants and the builder resolves before\nrecording. The nested extra-stacking-context case is unchanged, since resolving\nan already resolved space against itself is idempotent.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D318637",
      "email": "git@chillybin.org",
      "hash": "70a1f42b63e22231283c7c0bc187361d3021aa1d",
      "subject": "Bug 2063483 - Pt 4 - Resolve a stacking context's raster space in the display list builder r=gfx-reviewers,nical"
    },
    "D318638": {
      "author": "Glenn Watson",
      "avatar": "https://www.gravatar.com/avatar/3d823baa293744dbe3cbe8ce33d77065?d=identicon\u0026s=64",
      "cl": "D318638",
      "clUrl": "https://phabricator.services.mozilla.com/D318638",
      "description": "Wrench rebuilt per yaml file what Gecko retains per pipeline: a fresh\nDisplayListBuilder for every display list, and font templates and instances\nowned by the YamlFrameReader and deleted in its deinit.\n\nBoth now live on Wrench for the life of the process, which is what Gecko does.\nA builder is meant to be reused across builds, and an identical font is meant to\nkeep its instance key across paints; rebuilding either per file means the\nretained-builder path is never the one under test.\n\nNo reftest isolation is lost: the scene builder's interners already live on a\nsingle Document for the process, so state was shared across reftests regardless.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D318638",
      "email": "git@chillybin.org",
      "hash": "04f8e4c41e46f7691f0a6684e95ba7fbc305a267",
      "subject": "Bug 2063483 - Pt 5 - Retain wrench's display list builders and font caches across yaml files r=gfx-reviewers,nical"
    },
    "D318646": {
      "author": "James Teh",
      "avatar": "https://www.gravatar.com/avatar/749580f8bd5af77c57367e6c2717e283?d=identicon\u0026s=64",
      "cl": "D318646",
      "clUrl": "https://phabricator.services.mozilla.com/D318646",
      "description": "accessibility.force_disabled=-1 is meant to force enable accessibility, but previously, nothing acted on it centrally.\nGetOrCreateAccService only checked the force disabled case, leaving the force enabled case to platform specific code.\nAside from being hard to reason about, this meant there was different (sometimes broken) behaviour on different platforms.\nWindows was the only platform that proactively started accessibility in nsWindow::Create.\nOn Mac and Linux, the force enabled state allowed accessibility to be enabled where it otherwise wouldn't have been (e.g. no detected client), but it still only activated based on specific platform signals.\nAndroid never read the pref at all.\n\nTo fix this, add a11y::MaybeStartForceEnabled, called once from nsAppRunner.cpp just before the main run loop starts.\nThis only ever runs in the parent process.\nCalling PlatformDisabledState() there unconditionally also ensures the pref-change callback gets registered even when nothing else would have triggered that registration.\n\nThis required an additional fix on Android.\nPreviously, SessionAccessibility::Settings unconditionally shut accessibility down when a session's accessibility was first attached to a view with no assistive technology running.\nWe now prevent that shutdown when force enabled via the pref.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D318646",
      "email": "jteh@mozilla.com",
      "hash": "2e9006c7240bfbc413a1ee5bd717f8aec350f8c1",
      "subject": "Bug 2062852 part 1: Centrally handle accessibility.force_disabled=-1 (force enable) for all platforms. r=eeejay"
    },
    "D318647": {
      "author": "James Teh",
      "avatar": "https://www.gravatar.com/avatar/749580f8bd5af77c57367e6c2717e283?d=identicon\u0026s=64",
      "cl": "D318647",
      "clUrl": "https://phabricator.services.mozilla.com/D318647",
      "description": "This is now redundant.\na11y::MaybeStartForceEnabled, called centrally from nsAppRunner.cpp, covers this on every platform including Windows.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D318647",
      "email": "jteh@mozilla.com",
      "hash": "3595a736aa06fb2915a4eb6e4c53f31f0327aadf",
      "subject": "Bug 2062852 part 2: Remove the Windows specific accessibility force enable priming hack. r=eeejay"
    },
    "D318648": {
      "author": "James Teh",
      "avatar": "https://www.gravatar.com/avatar/749580f8bd5af77c57367e6c2717e283?d=identicon\u0026s=64",
      "cl": "D318648",
      "clUrl": "https://phabricator.services.mozilla.com/D318648",
      "description": "PrefChanged already force shuts accessibility down when the pref changes to 1.\nHowever, it previously did nothing on a change to -1, so force enabling required a restart.\nGive MaybeStartForceEnabled an async flag and call it from PrefChanged with that mode when the pref changes to force enabled.\nAsync is needed because this callback runs synchronously wherever the pref is set.\nWe don't want accessibility init happening inside arbitrary code.\nThis also updates the comment describing the pref and adds platform specific tests.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D318648",
      "email": "jteh@mozilla.com",
      "hash": "9752743055a8a98ef1bcab3c68302d0651bd6e05",
      "subject": "Bug 2062852 part 4: Start accessibility when accessibility.force_disabled changes to -1 at runtime. r=eeejay,geckoview-reviewers,m_kato"
    },
    "D318663": {
      "author": "Alex Hochheiden",
      "avatar": "https://www.gravatar.com/avatar/d543df9ea6c80e41387222577084eec1?d=identicon\u0026s=64",
      "cl": "D318663",
      "clUrl": "https://phabricator.services.mozilla.com/D318663",
      "description": "If there's a bug in the warning suppression logic, then some warnings\ncan get misattributed and suppressed. This suppression logic was only\never supposed to run locally, and never in CI. Since builds run with\n`-v` in CI, my thinking was `mach` would set the log level to `DEBUG`.\n\nhttps://searchfox.org/firefox-main/rev/25d7109bf565c299435dec3dd2b9e79a1ce7c15d/python/mach/mach/main.py#390\n\nMy mistake was that there's both a global `verbose` flag and a build\n`verbose` flag, and only the global one sets the log level to `DEBUG`.\nSince we run `./mach build -v` and not `./mach -v build`, we only get\nthe behavior of the build `verbose`, which did not change the log level.\n\nThe solution is to make the build's `verbose` flag also change the log\nlevel. It does not need to be `DEBUG` since that would be an unintended\nbehavior change, it just has to be on par with `THIRD_PARTY_WARNING`,\nwhich is the lowest level we set for suppression, then nothing will ever\nget suppressed in CI.\n\nThis does not fix the root cause in the suppression logic, which will\nbe a follow up. This just fixes CI.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D318663",
      "email": "ahochheiden@mozilla.com",
      "hash": "144668cb7a157889d1640ac37e76fc88420ccc13",
      "subject": "Bug 2043635 - Prevent build output suppression in CI by tying the log level to build's verbose flag r=firefox-build-system-reviewers,glandium"
    },
    "D318778": {
      "author": "Alastor Wu",
      "avatar": "https://www.gravatar.com/avatar/9f64a3c43c01820fd6be6b1ee3f326e1?d=identicon\u0026s=64",
      "cl": "D318778",
      "clUrl": "https://phabricator.services.mozilla.com/D318778",
      "description": "This test is being extended to other browsers so that seek latency becomes\ncomparable across them.\n\nThe cold arm cannot come along, because it depends on Firefox internals: it needs\nthe decoder to be released as soon as playback pauses, and only Gecko can be asked\nto do that. On any other browser the arm would report an unforced decoder state\nunder a name that implies a forced one, and that number would be read directly\nagainst the Firefox one.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D318778",
      "email": "alwu@mozilla.com",
      "hash": "3ab6e1c8fce20e0a39fe455e7c55fce4657e8340",
      "subject": "Bug 2063437 - Part 1: Measure the cold seek arm on Firefox only. r=perftest-reviewers,aglavic"
    },
    "D318779": {
      "author": "Alastor Wu",
      "avatar": "https://www.gravatar.com/avatar/9f64a3c43c01820fd6be6b1ee3f326e1?d=identicon\u0026s=64",
      "cl": "D318779",
      "clUrl": "https://phabricator.services.mozilla.com/D318779",
      "description": "The suite is portable already: the clip is an embedded, muted Blob and the test\nscript drives the browser through WebDriver alone, so Chrome needs the app added\nand nothing else. The periodic perf cron picks the task up without any scheduling\nchange, which is why the new arm is kept off the per-push path and at the lower\ntier while its noise level is still unknown.\n\nChrome starts on macOS and Linux, the platform set the other cross-browser media\ntests already use.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D318779",
      "email": "alwu@mozilla.com",
      "hash": "30d5766cb08a0b273828fc5eabebc099e9425bf1",
      "subject": "Bug 2063437 - Part 2: Run the media-seek test on Chrome. r=perftest-reviewers,aglavic"
    },
    "D318783": {
      "author": "Ben Chatterton",
      "avatar": "https://www.gravatar.com/avatar/1fa76e5f43bc4b160ea9647b0db262b8?d=identicon\u0026s=64",
      "cl": "D318783",
      "clUrl": "https://phabricator.services.mozilla.com/D318783",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D318783",
      "email": "bchatterton@mozilla.com",
      "hash": "fe82d06ec430b2050724744ec4694d8165bedb4d",
      "subject": "Bug 2063388: Run Desktop Test Eng suite on Nightly promote, r=bhearsum,taskgraph-reviewers"
    },
    "D318788": {
      "author": "Emilio Cobos Álvarez",
      "avatar": "https://www.gravatar.com/avatar/1d91d22a4892f16f744b31fd4286144e?d=identicon\u0026s=64",
      "cl": "D318788",
      "clUrl": "https://phabricator.services.mozilla.com/D318788",
      "description": "Don't create it if it doesn't exist tho.\n\nThis re-implements bug 1697272 effectively, which regressed at some\npoint, and adds a few tests.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D318788",
      "email": "emilio@crisal.io",
      "hash": "4f09d9e9f2305ac38f5a83af6f4bd21c02de4fa4",
      "subject": "Bug 2063681 - Make build system telemetry be recorded in the right machrc if there's an env var. r=firefox-build-system-reviewers,ahochheiden"
    },
    "D318846": {
      "author": "Michael Froman",
      "avatar": "https://www.gravatar.com/avatar/e2a2be17b9bb8a1d4d7427c810996388?d=identicon\u0026s=64",
      "cl": "D318846",
      "clUrl": "https://phabricator.services.mozilla.com/D318846",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D318846",
      "email": "mfroman@mozilla.com",
      "hash": "d6ec83d509bef017e3fd50cf9c99a32315d9c296",
      "subject": "Bug 1996020 - add AlignedMallocOrNull to allow low-mem alloc attempts without crashing. r=bwc"
    },
    "D318847": {
      "author": "Michael Froman",
      "avatar": "https://www.gravatar.com/avatar/e2a2be17b9bb8a1d4d7427c810996388?d=identicon\u0026s=64",
      "cl": "D318847",
      "clUrl": "https://phabricator.services.mozilla.com/D318847",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D318847",
      "email": "mfroman@mozilla.com",
      "hash": "16bdcdee01f6392e26f81290015f722df1b78f8c",
      "subject": "Bug 1996020 - Add I420Buffer::CreateOrNull and use it in VideoCaptureImpl::IncomingFrame. r=bwc"
    },
    "D318853": {
      "author": "sarah541",
      "avatar": "https://www.gravatar.com/avatar/127c9b76c00b540f342005d8bde6aa65?d=identicon\u0026s=64",
      "cl": "D318853",
      "clUrl": "https://phabricator.services.mozilla.com/D318853",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D318853",
      "email": "sarahkhan1107@hotmail.com",
      "hash": "0555e58c5d39c41d11fedd5d01f7f65123a921fe",
      "subject": "Bug 2063302 - Add telemetry for collapse/expand shortcuts buttons r=android-reviewers,npoon"
    },
    "D318905": {
      "author": "Tymur Boiko",
      "avatar": "https://www.gravatar.com/avatar/e5455cbc9ccf5951783c79fc29beda3c?d=identicon\u0026s=64",
      "cl": "D318905",
      "clUrl": "https://phabricator.services.mozilla.com/D318905",
      "description": "Old FFmpeg crashes in ff_vk_exec_add_dep_frame on GPUs that report\nCOINCIDE without SEPARATE_REFERENCE_IMAGES. After the Vulkan device is\ncreated, query those caps and fall back to VA-API if that combo is set.\n\nH.264 and libavcodec \u003c 61.19.100 only. Caps are cached per SPS profile\n(layout, chroma, depth). High 10 / 4:2:2 map to Vulkan HIGH so the query\ndoes not fail open. A failed query leaves Vulkan enabled.\n\nAdded HEVC / AV1 / VP9 Ensure arms are unused. They share the same design\nso a possible future codec gate can query that slot instead of adding a\nsecond table. Those codecs are not skipped here.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D318905",
      "email": "tboiko@nvidia.com",
      "hash": "dbab9f62b6490f9ad1eb3a0d1e4efee4896e6fce",
      "subject": "Bug 2063809 - Skip Vulkan H.264 on FFmpeg \u003c n7.1 for COINCIDE without SEPARATE_REFERENCE_IMAGES. r=stransky"
    },
    "D318987": {
      "author": "Timothy Nikkel",
      "avatar": "https://www.gravatar.com/avatar/0646a42110a02dd585f200f270716852?d=identicon\u0026s=64",
      "cl": "D318987",
      "clUrl": "https://phabricator.services.mozilla.com/D318987",
      "description": "The five patches listed in moz.yaml are not applied to the vendored sources. FuzzerIO.cpp\nin the tree is byte for byte identical to compiler-rt/lib/fuzzer/FuzzerIO.cpp at the\nrevision moz.yaml records, and the same holds for the other fourteen files this touches, so\nthe sources went in without the patch step when libFuzzer was upgraded in bug 1996685.\n\nIt does not seem like it was an intentional decision to drop them. The same change rebased\nall five patch files against the new upstream and deleted a sixth,\n14-explicit-allocator.patch, which is the opposite of what retiring the rest would look\nlike. They were added deliberately too: bug 1635762 added four of them along with vendoring\nlibFuzzer from git, and bug 1695761 added 15-return-to-exit so that libFuzzer returns\ninstead of calling exit(), as its title says.\n\nPatches are applied by a separate `mach vendor --patch-mode only` step, so it is easy for\nthe sources to go in without them, and until now nothing checked that vendoring reproduced\nwhat is committed.\n\nAlso point the moz.yaml at Core :: Fuzzing rather than Core :: General, which is where\nlibFuzzer bugs are filed anyway, including the upgrade in bug 1996685. Updatebot files from\nthat block, so its update bugs were going to the wrong place.\n\nThis is what `./mach vendor tools/fuzzing/libfuzzer/moz.yaml -r\n5b7a5f7c5f3c1dcd8ea9debf56983b85e393bc86 --patch-mode check --force` produces, so the\npatches still apply cleanly and no rebasing was needed.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D318987",
      "email": "tnikkel@gmail.com",
      "hash": "f957f67a08a7872d2eb64e69e15d06d7a9c773cc",
      "subject": "Bug 2063947. Reapply libFuzzer's local patches to the vendored sources. r=truber"
    },
    "D319001": {
      "author": "Jan de Mooij",
      "avatar": "https://www.gravatar.com/avatar/709c5feed942bf99f098bb24aa1cc86f?d=identicon\u0026s=64",
      "cl": "D319001",
      "clUrl": "https://phabricator.services.mozilla.com/D319001",
      "description": "This removes `createModuleGenerator` and replaces it with a `create` method that\ndoesn't take an `AbstractFramePtr`. This is similar to the `create` version for\nfunctions.\n\nAs a drive-by change this also removes the `script` argument from the function version\nso these are consistent.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D319001",
      "email": "jdemooij@mozilla.com",
      "hash": "03c8501bd7d29ad77f35e43349d360c16332d44b",
      "subject": "Bug 1996189 part 1 - Add AbstractGeneratorObject::create overload for modules. r=mgaudet"
    },
    "D319002": {
      "author": "Jan de Mooij",
      "avatar": "https://www.gravatar.com/avatar/709c5feed942bf99f098bb24aa1cc86f?d=identicon\u0026s=64",
      "cl": "D319002",
      "clUrl": "https://phabricator.services.mozilla.com/D319002",
      "description": "The resume machinery already works for top-level module scripts/frames so we just\nneed to add `JSOp::Generator` support.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D319002",
      "email": "jdemooij@mozilla.com",
      "hash": "177abd3f2bb962fcc44e6fbbc413e1fc99fc10dc",
      "subject": "Bug 1996189 part 2 - Support async module scripts in Warp. r=mgaudet"
    },
    "D319003": {
      "author": "Jan de Mooij",
      "avatar": "https://www.gravatar.com/avatar/709c5feed942bf99f098bb24aa1cc86f?d=identicon\u0026s=64",
      "cl": "D319003",
      "clUrl": "https://phabricator.services.mozilla.com/D319003",
      "description": "This required changing the arguments object operand to a `Value`.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D319003",
      "email": "jdemooij@mozilla.com",
      "hash": "b420528a4b5b7cb9204105e9f938c31c72ef3f76",
      "subject": "Bug 1996189 part 3 - Generate MIR/LIR boilerplate for MGenerator. r=mgaudet"
    },
    "D319075": {
      "author": "Olli Pettay",
      "avatar": "https://www.gravatar.com/avatar/13772facadedc1bff63debd9e596f5e2?d=identicon\u0026s=64",
      "cl": "D319075",
      "clUrl": "https://phabricator.services.mozilla.com/D319075",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D319075",
      "email": "Olli.Pettay@helsinki.fi",
      "hash": "07d2a32ea5e256ea9c798a83aa7d7bf197e1dfaf",
      "subject": "Bug 2064005 - Remove some old fullscreen related telemetry probes, r=edgar,janerik"
    },
    "D319158": {
      "author": "Valentin Pollet",
      "avatar": "https://www.gravatar.com/avatar/ec6bbf3c5be00645b45d5aac7ae9923c?d=identicon\u0026s=64",
      "cl": "D319158",
      "clUrl": "https://phabricator.services.mozilla.com/D319158",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D319158",
      "email": "vpollet@mozilla.com",
      "hash": "2870ed0d1bde56718ba48ce3268397a4f8819dc0",
      "subject": "Bug 2064108 - Do not run ML perftests that do not alert on push to autoland r=kshampur,mozperftest-reviewers"
    },
    "D319183": {
      "author": "Segun Famisa",
      "avatar": "https://www.gravatar.com/avatar/ce9ff32b0db44f5692a673fddca3a516?d=identicon\u0026s=64",
      "cl": "D319183",
      "clUrl": "https://phabricator.services.mozilla.com/D319183",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D319183",
      "email": "sfamisa@mozilla.com",
      "hash": "b15d4be261014f9f261201977cb1aa0076284217",
      "subject": "Bug 2064079 - Check in ktfmt idea configuration into tree r=adhingra,android-reviewers"
    },
    "D319194": {
      "author": "Katherine Ye",
      "avatar": "https://www.gravatar.com/avatar/b9dc79a25003e0a18369f5227fb47734?d=identicon\u0026s=64",
      "cl": "D319194",
      "clUrl": "https://phabricator.services.mozilla.com/D319194",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D319194",
      "email": "kye@mozilla.com",
      "hash": "c0e30ee6b7d3a74774a61e1ff685cad2ef1aa72c",
      "subject": "Bug 2063759 - Avoid line-clamp style adjustment for displays that aren't block/inline. r=firefox-style-system-reviewers,emilio,layout-reviewers"
    },
    "D319207": {
      "author": "David Rubino",
      "avatar": "https://www.gravatar.com/avatar/523c56c2e68a1a3207ced9963a5534e7?d=identicon\u0026s=64",
      "cl": "D319207",
      "clUrl": "https://phabricator.services.mozilla.com/D319207",
      "description": "INFOBAR_LAUNCH_ON_LOGIN and INFOBAR_LAUNCH_ON_LOGIN_FINAL asked users from\nabout:newtab to turn on launch on login, the second one re-asking 14 days after\nthe first. Now that new installs are defaulted into launch on login by the\ndefaultWindowsLaunchOnLogin rollouts, a user who has the setting off has chosen\nto have it off, so the prompt has no audience left worth interrupting.\n\nRemoves both messages along with the strings only they used. The \"show and\ntell\" strings stay: they belong to a separate, remotely delivered message.\n\nbrowser_asrouter_infobar.js referenced launch-on-login-infobar-message only as\na sample Fluent ID while exercising the array form of formatMessageConfig, so\nit now points at another string in the same file.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D319207",
      "email": "drubino@mozilla.com",
      "hash": "ecffd2eaca1e047c65aa681c2011cb3a8d84a18d",
      "subject": "Bug 2064113 - Remove the two-stage launch-on-login infobar. r=omc-reviewers,aminomancer"
    },
    "D319208": {
      "author": "David Rubino",
      "avatar": "https://www.gravatar.com/avatar/523c56c2e68a1a3207ced9963a5534e7?d=identicon\u0026s=64",
      "cl": "D319208",
      "clUrl": "https://phabricator.services.mozilla.com/D319208",
      "description": "browser.startup.windowsLaunchOnLogin.disableLaunchOnLoginPrompt existed only to\nstop the two-stage launch-on-login infobar from asking again, so with those\nmessages gone nothing reads it.\n\nMost of it was written from LaunchOnLogin.enablementDetails(), which set the\npref as a side effect of being asked for the current state. That made a\nread-only-looking API mutate the profile, and it was also the only thing\nkeeping the prompt away from users who had launch on login enabled at install\nand later turned it off. Removing the prompt removes the need for both.\n\nOne live recipe reads this pref: the suppress-legacy-launch-on-login-infobars\nrollout, which neutralizes these two messages in the field by shipping the same\nmessage IDs with no content at a higher priority. With the pref gone its\ntargeting clause stops matching on builds carrying this patch, which is\nharmless because the messages it suppresses are removed here; on 152-156 the\npref still exists and the rollout keeps working unchanged. Nothing else in the\nnimbus-desktop-experiments collection references the pref, so dropping it from\nthe SET_PREF allowlist changes no other remotely delivered message.\n\nThe urlbar suppress-tips harness set the pref so the infobar would not take the\nnotification box that the search tip assertions depend on. That workaround is\nno longer needed.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D319208",
      "email": "drubino@mozilla.com",
      "hash": "02aa8f1bcf8a3bf34f359b2391d8eefc5da98b0c",
      "subject": "Bug 2064113 - Remove the launch-on-login prompt suppression pref. r=omc-reviewers,mconley,aminomancer"
    },
    "D319225": {
      "author": "Nathan Barrett",
      "avatar": "https://www.gravatar.com/avatar/fd7ea2d387f4c5d34b811080963a74fa?d=identicon\u0026s=64",
      "cl": "D319225",
      "clUrl": "https://phabricator.services.mozilla.com/D319225",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D319225",
      "email": "nbarrett@mozilla.com",
      "hash": "1fcb78a15d35848644a6097670b703f197c6dcfb",
      "subject": "Bug 2058696 - Add mail button for linux r=niklas"
    },
    "D319226": {
      "author": "Mark Striemer",
      "avatar": "https://www.gravatar.com/avatar/8407f1551cb10122bad1fc181e6177ac?d=identicon\u0026s=64",
      "cl": "D319226",
      "clUrl": "https://phabricator.services.mozilla.com/D319226",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D319226",
      "email": "mstriemer@mozilla.com",
      "hash": "10c67792b86484b601301d8b24c7a6a34d49a85a",
      "subject": "Bug 1861496 - Fixes for Lit upgrade r=tabbrowser-reviewers,tgiles,nsharpley"
    },
    "D319230": {
      "author": "Mark Kennedy",
      "avatar": "https://www.gravatar.com/avatar/3c0e3c8ec836eaba490b8d584a10ab2f?d=identicon\u0026s=64",
      "cl": "D319230",
      "clUrl": "https://phabricator.services.mozilla.com/D319230",
      "description": "The subdialog tests were skipped on the Nova variant because they were\nflaky. Try runs with the tests unskipped show them passing consistently\non Linux 22.04 wayland, Linux 24.04, and macOS 15 aarch64, so the\nskip-ifs are no longer needed.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D319230",
      "email": "mkennedy@mozilla.com",
      "hash": "a58506e13436aa41e7d52cf0127b32684b4ebf81",
      "subject": "Bug 2057850 - Bring back browser subdialog tests under Nova pref r=hjones"
    },
    "D319243": {
      "author": "Dão Gottwald",
      "avatar": "https://www.gravatar.com/avatar/45dfe136efbb8e5f89eb0b21775ab195?d=identicon\u0026s=64",
      "cl": "D319243",
      "clUrl": "https://phabricator.services.mozilla.com/D319243",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D319243",
      "email": "dao@mozilla.com",
      "hash": "13cdd9bc6db050a8bc08b2eb97247a618f66faa0",
      "subject": "Bug 2064136 - Document the tabbrowser's undocumented parameters. r=sthompson,tabbrowser-reviewers"
    },
    "D319244": {
      "author": "Dão Gottwald",
      "avatar": "https://www.gravatar.com/avatar/45dfe136efbb8e5f89eb0b21775ab195?d=identicon\u0026s=64",
      "cl": "D319244",
      "clUrl": "https://phabricator.services.mozilla.com/D319244",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D319244",
      "email": "dao@mozilla.com",
      "hash": "542a59d01fc2ff2a333ecf3e99e3fe42ef2b5761",
      "subject": "Bug 2064136 - Reconcile the documented parameter names with the signatures. r=sthompson,tabbrowser-reviewers"
    },
    "D319245": {
      "author": "Dão Gottwald",
      "avatar": "https://www.gravatar.com/avatar/45dfe136efbb8e5f89eb0b21775ab195?d=identicon\u0026s=64",
      "cl": "D319245",
      "clUrl": "https://phabricator.services.mozilla.com/D319245",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D319245",
      "email": "dao@mozilla.com",
      "hash": "1c6d7758de5da78a0308217ee22c4f836067f251",
      "subject": "Bug 2064136 - Describe the documented properties of the tabbrowser's typedefs. r=sthompson,tabbrowser-reviewers"
    },
    "D319246": {
      "author": "Dão Gottwald",
      "avatar": "https://www.gravatar.com/avatar/45dfe136efbb8e5f89eb0b21775ab195?d=identicon\u0026s=64",
      "cl": "D319246",
      "clUrl": "https://phabricator.services.mozilla.com/D319246",
      "description": "docs/config.yml requires that anything in js_source_paths lints under the strict jsdoc rules, which is what the eslint-rollouts.config.mjs change is for and what the commits below make possible.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D319246",
      "email": "dao@mozilla.com",
      "hash": "bbb47ddbe05166242d7d4265e93446b830846245",
      "subject": "Bug 2064136 - Generate a gBrowser API reference from the tabbrowser's JSDoc. r=sthompson,tabbrowser-reviewers,frontend-codestyle-reviewers,mossop"
    },
    "D319247": {
      "author": "Nika Layzell",
      "avatar": "https://www.gravatar.com/avatar/fcf93a5a624020bf2256443c69e08b51?d=identicon\u0026s=64",
      "cl": "D319247",
      "clUrl": "https://phabricator.services.mozilla.com/D319247",
      "description": "This is a more reliable mechanism for validating the owning process,\nwhich should avoid edge cases around navigation where the owning process\nfor a BrowsingContext may change while postMessage is being sent.\n\nIf the inner window is gone, this clears out source, in a manner similar\nto PostMessageEvent::Run.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D319247",
      "email": "nika@thelayzells.com",
      "hash": "c732a358c1bf3bd81c2c0577fa926fd829eb528a",
      "subject": "Bug 2063905 - Validate PostMessage source against innerWindowId, r=dom-core-reviewers,farre"
    },
    "D319248": {
      "author": "Micah Killoran",
      "avatar": "https://www.gravatar.com/avatar/917b1186aad4798d910d24f25629d145?d=identicon\u0026s=64",
      "cl": "D319248",
      "clUrl": "https://phabricator.services.mozilla.com/D319248",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D319248",
      "email": "mtigley@mozilla.com",
      "hash": "38e9edffd0719397761062b9ed35ab558deaf93e",
      "subject": "Bug 2045289 - Reformat moz-label accesskeys when the label text changes while not observing. r=hjones"
    },
    "D319276": {
      "author": "Diego Escalante",
      "avatar": "https://www.gravatar.com/avatar/61f71266381e809713ea62f7cda80ac9?d=identicon\u0026s=64",
      "cl": "D319276",
      "clUrl": "https://phabricator.services.mozilla.com/D319276",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D319276",
      "email": "descalante@mozilla.com",
      "hash": "ebe1ad9344b19d1a306cef6cda40bba7cce6f561",
      "subject": "Bug 2059168 - Keep the attr tainting value when turning computed values into declared values. r=firefox-style-system-reviewers,emilio."
    },
    "D319299": {
      "author": "Joe Bowser",
      "avatar": "https://www.gravatar.com/avatar/6b7a8c108da2cd58f411e48185e65050?d=identicon\u0026s=64",
      "cl": "D319299",
      "clUrl": "https://phabricator.services.mozilla.com/D319299",
      "description": "The \"best-onnx\" backend optimistically built the native ONNX pipeline and only\nfell back to the wasm backend after native engine creation threw. On systems\nwithout the native runtime this wasted the entire native pipeline build --\ntransformers.js, the tokenizer, and the model -- before failing.\n\nResolve \"best-onnx\" by first running the cheap InferenceSession.isAvailable()\nprobe once per inference process and choosing onnx-native or onnx up front. The\nresult is cached, and concurrent cold-cache resolutions share a single probe. The\nexisting engine-creation fallback stays as a safety net for the case where the\nruntime probes as available but still fails to initialize.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D319299",
      "email": "jbowser@mozilla.com",
      "hash": "1bea19e07f8cb609845691f46ae43e1c6016afec",
      "subject": "Bug 2063023 - Probe native ONNX availability before building the best-onnx pipeline r=ai-platform-reviewers,nordzilla"
    },
    "D319302": {
      "author": "Masayuki Nakano",
      "avatar": "https://www.gravatar.com/avatar/900caab146bc7a489b3854cf10acf93f?d=identicon\u0026s=64",
      "cl": "D319302",
      "clUrl": "https://phabricator.services.mozilla.com/D319302",
      "description": "When `TextComposition` in a content process requests to commit\ncomposition, the request is sent to the parent process synchronously.\nThen, if IME handles the request synchronously,\n`PuppetWidget::RequestIMEToCommitComposition` dispatches a\n`eCompositionCommit` event synchronously. However, if IME handles it\nasynchronously, `RequestIMEToCommitComposition` does nothing and\n`TextComposition::RequestToCommit` dispatches `eCompositionCommit` or\n`eCompositionCommitAsIs` before receiving next event (in the most\ncases). However, the puppet widget won't receive the delayed commit\nevent in this case because `TextComposition::DispatchCompositionEvent`\nin the parent process does not send the delayed commit event. Therefore,\n`PuppetWidget::DispatchEvent` cannot notify `TextEventDispatcher` of\nthe commit event. Therefore, `TextEventDispatcher` will have wrong\ncomposition state.\n\nSo, fixing this issue, we need to make\n`TextComposition::DispatchCompositionEvent` in the parent process should\nsend the commit event as usual. To avoid the `ContentCacheInParent`\nto misunderstand the native IME's composition state,\n`TextComposition::RequestToCommit` should not dispatch\n`eCompositionCommit` nor `eCompositionCommitAsIs` because the event\ncauses `ContentCacheInParent` thinks the composition is actually\ncommitted in IME.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D319302",
      "email": "masayuki@d-toybox.com",
      "hash": "02c332d879a77597ce68cc5c3d893b00d41344b9",
      "subject": "Bug 2052939 - Improve the async commit composition which is in a content process r=m_kato"
    },
    "D319400": {
      "author": "Andrew Gaul",
      "avatar": "https://www.gravatar.com/avatar/c4735ff5ae1f882942f2b3befcedbdba?d=identicon\u0026s=64",
      "cl": "D319400",
      "clUrl": "https://phabricator.services.mozilla.com/D319400",
      "description": "storePtr(ImmPtr, Address) was the only arm64 store-immediate variant\nwithout a zero check: it materialized 0 into a scratch (mov xN,#0) and\nstored that, whereas store8/16/32 and storePtr(ImmWord) already store\nwzr/xzr directly. Add the same check so a null pointer is stored as str\nxzr.\n\nDominant caller is profilerEnterFrame, which stores null to\nJitActivation::lastProfilingCallSite in every method prologue (also\nNativeIterator init and other nullptr stores). Removes ~3.5k mov\ninstructions across Octane's Baseline tier. Code-size win (most are in\nthe normally-skipped profiler-enter stub); wall-clock neutral on M4.\n\nFound via armlint.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D319400",
      "email": "andrew@gaul.org",
      "hash": "afa65dfecbe55c2495dd572e2cd3599111a764aa",
      "subject": "Bug 2064314 - jit/arm64: store xzr for storePtr(ImmPtr(nullptr)). r=jandem"
    },
    "D319415": {
      "author": "stransky",
      "avatar": "https://www.gravatar.com/avatar/1ad575baf124ff5058f4d44d5b066a29?d=identicon\u0026s=64",
      "cl": "D319415",
      "clUrl": "https://phabricator.services.mozilla.com/D319415",
      "description": "- Remove dmabuf mem log from DMABufSurfaceYUV::ImportPRIMESurfaceDescriptor() / DMABufSurfaceYUV::ReleaseVADRMPRIMESurfaceDescriptor()\n  as it's redundant and owned by ffmpeg.\n- Note dmabuf release only if we actually release it - ignore empty surfaces.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D319415",
      "email": "stransky@redhat.com",
      "hash": "59029cbbeb41f9e06d81a21d87fa9af769aff68c",
      "subject": "Bug 1991189 [Linux] Note dmabuf release only if we actually release it r=emilio,gtk-reviewers"
    },
    "D319418": {
      "author": "Delia Pop",
      "avatar": "https://www.gravatar.com/avatar/9bc6f69101aaf2750dbd3cfc9d6b37d8?d=identicon\u0026s=64",
      "cl": "D319418",
      "clUrl": "https://phabricator.services.mozilla.com/D319418",
      "description": "This new smoke UI test partially automates the manual test that verifies the Google Lens functionality.\n\nThis test verifies two scenarios:\n1. the Google Lens icon is displayed in the edit-mode search bar (available only in normal mode + Google set as default browser) \u003e clicks the button \u003e verifies that the first-run opt-out sheet appears\n2. return to homepage \u003e re-open Lens \u003e \"Try it now\" \u003e camera screen \u003e gallery button \u003e photo picker launches \u003e an image is selected and accepted (handoff to the uploader).\n\nAdding a fix for a navigation issue: the search bar's page anchor was SEARCH_ENGINE_SELECTOR, which the redesigned Home toolbar also shows in display mode, so navigateToPage falsely thought it was already in edit mode and skipped the tap. Fixed by anchoring on the edit-mode-only ADDRESSBAR_SEARCH_BOX.\n\nThe UI test successfully passed 100x on Firebase. [[ https://treeherder.mozilla.org/jobs?repo=try\u0026revision=1112cbd057fe53245e20e710b43319ec5453c3ad | Try ]]\nAll efficiency UI tests successfully passed 1x on Firebase. [[ https://treeherder.mozilla.org/jobs?repo=try\u0026revision=1112cbd057fe53245e20e710b43319ec5453c3ad | Try ]]\n\nDifferential Revision: https://phabricator.services.mozilla.com/D319418",
      "email": "dpop@mozilla.com",
      "hash": "e20c8399785f77bc519e716bca36a615ab3648b6",
      "subject": "Bug 2064086 - Create new UI smoke test to verify Google Lens functionality r=jajohnson"
    },
    "D319422": {
      "author": "Henrik Skupin",
      "avatar": "https://www.gravatar.com/avatar/4ab832a8d5cae15967c0da59ebfb83f7?d=identicon\u0026s=64",
      "cl": "D319422",
      "clUrl": "https://phabricator.services.mozilla.com/D319422",
      "description": "Following the resolution of https://github.com/w3c/webdriver/issues/1956, the\n\"Get Element Tag Name\" command has to return the element's qualified name\ninstead of lowercasing the `tagName` property:\n\n  elem.prefix === null ? elem.localName : `${elem.prefix}:${elem.localName}`\n\nHTML elements in HTML documents keep returning lowercase names (the HTML parser\nalready lowercases their local name), so unlike the previous attempt in this bug\nthis does not change the long standing behavior for regular HTML content. Only\nelements whose local name or prefix isn't lowercase are affected, eg. SVG\ncamel case elements (`linearGradient`, `textPath`), prefixed elements in XML\ndocuments, and elements created via `document.createElementNS()`.\n\nThe wdspec tests landed already via bug 2053646, so all the `expected: FAIL`\nentries in the expectation file become passes and the file gets removed.\n\nNote: no local wdspec run was possible in the environment used to prepare this\npatch, so the expectation update should be confirmed by a try run.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D319422",
      "email": "mail@hskupin.info",
      "hash": "501d038d7a16bbde5b44554cf926a8489c8974a9",
      "subject": "Bug 2026697 - [marionette] Return the qualified name for the \"WebDriver:GetElementTagName\" command. r=jdescottes"
    },
    "D319424": {
      "author": "Jon Coppeard",
      "avatar": "https://www.gravatar.com/avatar/c9ec760b0d3a20a6775614baa4086871?d=identicon\u0026s=64",
      "cl": "D319424",
      "clUrl": "https://phabricator.services.mozilla.com/D319424",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D319424",
      "email": "jcoppeard@mozilla.com",
      "hash": "9f15e18a6e9961389fb10b0d02503de9e2785a33",
      "subject": "Bug 2064093 - Part 1: Add a GC zeal mode to insert pauses to make triggering races easier r=jandem"
    },
    "D319425": {
      "author": "Jon Coppeard",
      "avatar": "https://www.gravatar.com/avatar/c9ec760b0d3a20a6775614baa4086871?d=identicon\u0026s=64",
      "cl": "D319425",
      "clUrl": "https://phabricator.services.mozilla.com/D319425",
      "description": "I used claude to write this test case which combined with the delay reliably\ncauses a crash.\n\nBetween setShape and setDictionaryModeSlotSpan below, obj's shape reports\nisDictionary() but the slots header's dictionary slot span has not been\nupdated, so tracing computes the wrong slot count.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D319425",
      "email": "jcoppeard@mozilla.com",
      "hash": "6d489cb88597bb9e0ec3c7554fd79ae4885d2f71",
      "subject": "Bug 2064093 - Part 2: Add test for chaging objects to dictionary mode under concurrent marking r=jandem"
    },
    "D319426": {
      "author": "Jon Coppeard",
      "avatar": "https://www.gravatar.com/avatar/c9ec760b0d3a20a6775614baa4086871?d=identicon\u0026s=64",
      "cl": "D319426",
      "clUrl": "https://phabricator.services.mozilla.com/D319426",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D319426",
      "email": "jcoppeard@mozilla.com",
      "hash": "672c7702d613faf7a23c1dfe86f304d2a00b6ebe",
      "subject": "Bug 2064093 - Part 3: Update object's dictionary slot count before setting the shape to fix race under concurrent marking r=jandem"
    },
    "D319428": {
      "author": "Julian Seward",
      "avatar": "https://www.gravatar.com/avatar/5edb95922c89f29d92b7febcba5669de?d=identicon\u0026s=64",
      "cl": "D319428",
      "clUrl": "https://phabricator.services.mozilla.com/D319428",
      "description": "MIR-level loop unrolling can have the effect of making some\nMDefinition::loadDependency_ fields become incorrect.  Fixing them up\nincrementally is not easy, so this patch supplies an alternative fix, which is\nto simply recompute them all, after unrolling is complete, by rerunning alias\nanalysis.\n\nChanges:\n\n* UnrollLoops.cpp: free method UnrollAndOrPeelLoop:\n\n  - remove code to fix up loadDependency_ fields during node cloning.  That\n    code is now known to be insufficient, and leaving it in is misleading.\n\n* UnrollLoops.cpp: free method UnrollLoops:\n\n  - control flow change: make an early exit if we have no final candidate loops\n    to unroll.  This allows a few simplifications of the code that follows.\n\n  - for debug builds, invalidate all the loadDependency_ fields so as to catch\n    any subsequent uses\n\n  - rerun alias analysis after loop unrolling, if unrolling changed anything,\n    by calling AccountForCFGChanges.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D319428",
      "email": "jseward@acm.org",
      "hash": "48020f9e4973070de25e69ad9ebc8fee32628879",
      "subject": "Bug 2063089 - part 1: rerun alias analysis after loop unrolling.  r=jandem."
    },
    "D319429": {
      "author": "Julian Seward",
      "avatar": "https://www.gravatar.com/avatar/5edb95922c89f29d92b7febcba5669de?d=identicon\u0026s=64",
      "cl": "D319429",
      "clUrl": "https://phabricator.services.mozilla.com/D319429",
      "description": "This patch contains three tricky testcases, all of which have in the past\ndemonstrated incorrect unrolling of loops in the presence of MIR-level\ninter-node memory dependencies.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D319429",
      "email": "jseward@acm.org",
      "hash": "9b2523f8167e9874885765719240a7f849333aa9",
      "subject": "Bug 2063089 - part 2: test cases for unrolling in the presence of memory dependencies.  r=jandem."
    },
    "D319445": {
      "author": "Masayuki Nakano",
      "avatar": "https://www.gravatar.com/avatar/900caab146bc7a489b3854cf10acf93f?d=identicon\u0026s=64",
      "cl": "D319445",
      "clUrl": "https://phabricator.services.mozilla.com/D319445",
      "description": "`nsRange::CutContents` is used by the printing too and printing feature\nexpects that this API work within `TreeKind::FlatForSelection`.\nTherefore, this patch adds `Maybe\u003cAllowRangeCrossShadowBoundary\u003e`\nparameter to override the pref.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D319445",
      "email": "masayuki@d-toybox.com",
      "hash": "cf321a4d1ef8e403c604ba9c8384766700e30cda",
      "subject": "Bug 2053997 - Make `nsRange::CutContents` work with `TreeKind::FlatForSelection` if called by `nsRange::SuppressContentsForPrintSelection` r=smaug"
    },
    "D319462": {
      "author": "Keith Cirkel",
      "avatar": "https://www.gravatar.com/avatar/87a4065b580b6f1e43858ab49d98c109?d=identicon\u0026s=64",
      "cl": "D319462",
      "clUrl": "https://phabricator.services.mozilla.com/D319462",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D319462",
      "email": "keithamus@users.noreply.github.com",
      "hash": "a173c556f3e0667cf3238d5c86a2fe2f4b705f31",
      "subject": "Bug 2064333 - Turn scoped registries on for nightly builds r=dom-core-reviewers,smaug,devtools-reviewers,ochameau"
    },
    "D319463": {
      "author": "Martin Raiber",
      "avatar": "https://www.gravatar.com/avatar/ac8987375b76d87af04b32c3436a92a6?d=identicon\u0026s=64",
      "cl": "D319463",
      "clUrl": "https://phabricator.services.mozilla.com/D319463",
      "description": "A new popup for e.g. login via google has \"about:blank\" as aTopLevelURI. Getting the\nschemeless site for \"about:blank\" fails and exceptions do not get applied for the\npopup URL (e.g. \"accounts.google.com\").\nFix this by deriving the top level URI from the document principal of the top-level\nwindow global when the document URI is \"about:blank\". Such a document inherits its\nprincipal from its creator. Sandboxed popups keep an opaque origin, so no top level\nURI is derived for them.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D319463",
      "email": "mraiber@mozilla.com",
      "hash": "f9acf40b5dfee798ca1d00f8d64ca69cbfb418eb",
      "subject": "Bug 2064382 - Fix anti-tracking exception not being applied to new popups r=timhuang"
    },
    "D319467": {
      "author": "Krist Baliev",
      "avatar": "https://www.gravatar.com/avatar/9144471bc03d7f5e8103c28b824b8f31?d=identicon\u0026s=64",
      "cl": "D319467",
      "clUrl": "https://phabricator.services.mozilla.com/D319467",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D319467",
      "email": "kbaliev@mozilla.com",
      "hash": "e5ed6ec9f10c65dce30aee3a1aaacc51608b8f63",
      "subject": "Bug 2062242 - Adjust wording for doorhanger option to never save addresses. r=mtigley,fluent-reviewers,bolsson,credential-management-reviewers"
    },
    "D319480": {
      "author": "Sarah Clements",
      "avatar": "https://www.gravatar.com/avatar/a5c64c086e83ba611b034ee859d843d4?d=identicon\u0026s=64",
      "cl": "D319480",
      "clUrl": "https://phabricator.services.mozilla.com/D319480",
      "description": "* Update profiles divider, creating a new function to show and hide all relevant elements\n* Update styling and test coverage\n\nDifferential Revision: https://phabricator.services.mozilla.com/D319480",
      "email": "sclements@mozilla.com",
      "hash": "c049862ffe55c49a4e4906504699fab4d1470e45",
      "subject": "Bug 2063233 - Fix double line in account section of app menu r=nsharpley,desktop-theme-reviewers,dao"
    },
    "D319493": {
      "author": "Dão Gottwald",
      "avatar": "https://www.gravatar.com/avatar/45dfe136efbb8e5f89eb0b21775ab195?d=identicon\u0026s=64",
      "cl": "D319493",
      "clUrl": "https://phabricator.services.mozilla.com/D319493",
      "description": "They're the insertion anchors for the item-contributing API added next.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D319493",
      "email": "dao@mozilla.com",
      "hash": "c7ba672a1fee174e4217f72f304cc2d43fbf5665",
      "subject": "Bug 2064369 - Give the chrome text context menu's items ids. r=daleharvey"
    },
    "D319499": {
      "author": "Emily McMinn",
      "avatar": "https://www.gravatar.com/avatar/831e82bca5555b28c9ad9c9fb0b6f4e8?d=identicon\u0026s=64",
      "cl": "D319499",
      "clUrl": "https://phabricator.services.mozilla.com/D319499",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D319499",
      "email": "emcminn@mozilla.com",
      "hash": "02d70b5ac7cdaa8b7e45a4e36538a81b8cf9fb94",
      "subject": "Bug 2064230 - Fix missing ASRouter bundle change r=sachung,omc-reviewers"
    },
    "D319521": {
      "author": "Andrew Gaul",
      "avatar": "https://www.gravatar.com/avatar/c4735ff5ae1f882942f2b3befcedbdba?d=identicon\u0026s=64",
      "cl": "D319521",
      "clUrl": "https://phabricator.services.mozilla.com/D319521",
      "description": "Shared code zeroes a register x86-style with xor32/xorPtr(reg, reg),\nwhich arm64 emitted verbatim as eor r,r,r. Unlike x86's xor idiom, eor\nwith itself is not dependency-breaking on ARM cores: it reads the old\nvalue, so the zeroing serializes behind whatever last wrote the register.\nEmit mov from wzr/xzr instead, which register renaming handles.\n\nThe callers are emitMegamorphicCacheLookup's miss path (the bulk),\nconvertValueToWasmAnyRef's null case, and a few trampolines. Found via\narmlint: the 139 'self-op identity' findings on Octane (111 Ion / 22\ntrampoline / 6 Baseline) drop to zero. Instruction count and code size\nare unchanged (one instruction replaces one); the win is removing the\nfalse dependency. A 12-run interleaved Octane A/B against origin/main\nwas flat on an M4 (total-score medians within 0.2%, every per-benchmark\nmedian within +/-0.6% except a +2.0% Richards outlier whose per-run\ndistributions overlap, i.e. noise).\n\nDifferential Revision: https://phabricator.services.mozilla.com/D319521",
      "email": "andrew@gaul.org",
      "hash": "853094920ea608b5e81443c0040c7ac3a0121047",
      "subject": "Bug 2064420 - jit/arm64: zero through wzr/xzr for xor-with-self. r=jandem"
    },
    "D319549": {
      "author": "Moritz Beier",
      "avatar": "https://www.gravatar.com/avatar/db9378640c16b8cdcfcebed97713987a?d=identicon\u0026s=64",
      "cl": "D319549",
      "clUrl": "https://phabricator.services.mozilla.com/D319549",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D319549",
      "email": "mbeier@mozilla.com",
      "hash": "5073757a858fa643dbd287263d3d59d3d1623760",
      "subject": "Bug 2054217 - Store the view template of dynamic results in the result payload instead of the result itself. r=urlbar-reviewers,dao"
    },
    "D319550": {
      "author": "Moritz Beier",
      "avatar": "https://www.gravatar.com/avatar/db9378640c16b8cdcfcebed97713987a?d=identicon\u0026s=64",
      "cl": "D319550",
      "clUrl": "https://phabricator.services.mozilla.com/D319550",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D319550",
      "email": "mbeier@mozilla.com",
      "hash": "be66afd1ac9fdd6c44827a42551c1fd602412378",
      "subject": "Bug 2054217 - Include dynamic results' view update in payload to skip the IPC round-trip. r=adw,urlbar-reviewers"
    },
    "D319557": {
      "author": "Nika Layzell",
      "avatar": "https://www.gravatar.com/avatar/fcf93a5a624020bf2256443c69e08b51?d=identicon\u0026s=64",
      "cl": "D319557",
      "clUrl": "https://phabricator.services.mozilla.com/D319557",
      "description": "Currently this service is only available in the main and parent\nprocesses, but the data backing it is just stored statically in memory.\n\nThis change makes the entire service become a simple statically\nallocated singleton with a fake reference count, which means it no\nlonger needs main thread initialization.\n\nThe MRU cache is initialized lazily on the main thread, and cleared on\nshutdown.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D319557",
      "email": "nika@thelayzells.com",
      "hash": "980317752aef7f31051a87fc90d33a315d8de676",
      "subject": "Bug 2064158 - Make nsEffectiveTLDService available everywhere, r=necko-reviewers,valentin"
    },
    "D319573": {
      "author": "Travis Long",
      "avatar": "https://www.gravatar.com/avatar/bcf11288569ab026f5b83e240335bd77?d=identicon\u0026s=64",
      "cl": "D319573",
      "clUrl": "https://phabricator.services.mozilla.com/D319573",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D319573",
      "email": "tlong@mozilla.com",
      "hash": "f153474811a73a6abf10a0ac5f93920769436682",
      "subject": "Bug 2053520 - Add nimbus-cli to mach android commands. r=geckoview-reviewers,nalexander"
    },
    "D319576": {
      "author": "Manuel Bucher",
      "avatar": "https://www.gravatar.com/avatar/fe2c2192f4fabf01f2d2e700631bb8fe?d=identicon\u0026s=64",
      "cl": "D319576",
      "clUrl": "https://phabricator.services.mozilla.com/D319576",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D319576",
      "email": "manuel@mozilla.com",
      "hash": "190161f9abcf6670cd4851ad609bea11a0ee0307",
      "subject": "Bug 2061799 - Derive storage access from WindowGlobalParent r=timhuang"
    },
    "D319577": {
      "author": "Rémi Papillié",
      "avatar": "https://www.gravatar.com/avatar/6dbd13dd334657fae5d8837fb3cdde16?d=identicon\u0026s=64",
      "cl": "D319577",
      "clUrl": "https://phabricator.services.mozilla.com/D319577",
      "description": "Split expensive superellipse calculations in a separate shader variant.\n\nSpeeds up startup time by skipping the compilation of the complex shader,\nloading it lazily instead.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D319577",
      "email": "rpapillie@mozilla.com",
      "hash": "73cd5c16d7c4d0aa2351a0f46ab7f02a234bb930",
      "subject": "Bug 2063169 - Add WR_FEATURE_SUPERELLIPSE variant to ps_quad_mask. r=gfx-reviewers,nical"
    },
    "D319586": {
      "author": "Ryan Hunt",
      "avatar": "https://www.gravatar.com/avatar/8db6b22eadf9c098ae78e6d0d0615e29?d=identicon\u0026s=64",
      "cl": "D319586",
      "clUrl": "https://phabricator.services.mozilla.com/D319586",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D319586",
      "email": "rhunt@eqrion.net",
      "hash": "df058da5620b6cc118beca48a4340a0bf319fefe",
      "subject": "Bug 2059709 - Copy wasm component bytecode out of shared memory before compiling. r=bvisness"
    },
    "D319592": {
      "author": "Vanessa Prema",
      "avatar": "https://www.gravatar.com/avatar/9c79ef6472ef5db3739780fdc5c4a2fa?d=identicon\u0026s=64",
      "cl": "D319592",
      "clUrl": "https://phabricator.services.mozilla.com/D319592",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D319592",
      "email": "vprema@mozilla.com",
      "hash": "8a429398fd54a4217e0648cfe23987b859d68aea",
      "subject": "Bug 2063372 - feat(trustpanel): Add telemetry for breach alert shield animation r=vinilla"
    },
    "D319600": {
      "author": "Olivia Hall",
      "avatar": "https://www.gravatar.com/avatar/9bb5ba1328acae6f1d36d1c8564bc4bf?d=identicon\u0026s=64",
      "cl": "D319600",
      "clUrl": "https://phabricator.services.mozilla.com/D319600",
      "description": "Before this patch, `saveAsPdf` always ran through the Gecko print machinery to generate a PDF.\n\nThis patch adds a check for if the document is a and uses the PDF machinery to save.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D319600",
      "email": "ohall@mozilla.com",
      "hash": "482fa522a3086515f1be9f4fbc0207bcde90867f",
      "subject": "Bug 2064162 -  On Android, saveAsPdf should behave differently if the page is a PDF r=geckoview-reviewers,calixte,jonalmeida"
    },
    "D319622": {
      "author": "Nikki Sharpley",
      "avatar": "https://www.gravatar.com/avatar/475216ceafd2f0f87e2621f9ef4fa0e1?d=identicon\u0026s=64",
      "cl": "D319622",
      "clUrl": "https://phabricator.services.mozilla.com/D319622",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D319622",
      "email": "nsharpley@mozilla.com",
      "hash": "14d104ab834f30c57fde8d905cec1a8e3ef7a97d",
      "subject": "Bug 2064519 - Restore Sign Out button in app menu to below sync status r=sclements"
    },
    "D319639": {
      "author": "Andy Leiserson",
      "avatar": "https://www.gravatar.com/avatar/38744a8eed407458243ba8021f56609a?d=identicon\u0026s=64",
      "cl": "D319639",
      "clUrl": "https://phabricator.services.mozilla.com/D319639",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D319639",
      "email": "aleiserson@mozilla.com",
      "hash": "24f381f39a4250d0b852514638d717b031c01c2f",
      "subject": "Bug 2060047. r=gfx-reviewers,lsalzman,ErichDonGubler"
    },
    "D319649": {
      "author": "Drew Willcoxon",
      "avatar": "https://www.gravatar.com/avatar/fa60148022a230fe1bacc441549b1c66?d=identicon\u0026s=64",
      "cl": "D319649",
      "clUrl": "https://phabricator.services.mozilla.com/D319649",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D319649",
      "email": "adw@mozilla.com",
      "hash": "ee65069e273d34ce7f88488e742a67f956d5b517",
      "subject": "Bug 2064557 - Offline Suggest EU expansion 2026 phase 1: Enable AMP and Wikpedia by default in DE, FR, IT. r=daisuke,urlbar-reviewers"
    },
    "D319654": {
      "author": "Drew Willcoxon",
      "avatar": "https://www.gravatar.com/avatar/fa60148022a230fe1bacc441549b1c66?d=identicon\u0026s=64",
      "cl": "D319654",
      "clUrl": "https://phabricator.services.mozilla.com/D319654",
      "description": "The Nova Components Figma uses `--text-color-deemphasized, rgba(24, 14, 48, 0.70)`\nfor the secondary text in the urlbar input [1]. The opacity is 0.7 in all\nthemes [2].\n\n[1] https://www.figma.com/design/PqfaOcMGbX5liEXTTUzeYX/Nova-Components--Experimental-?node-id=13812-47163\u0026m=dev\n[2] https://www.figma.com/design/Co6vXnF5SiQMcJ7UoJvZX6/Nova-Styles--Experimental-?node-id=0-1\u0026p=f\u0026view=variables\u0026var-id=3-123\u0026var-set-id=2-5\u0026m=dev\n\nDifferential Revision: https://phabricator.services.mozilla.com/D319654",
      "email": "adw@mozilla.com",
      "hash": "10b419cc6afb86e93ef1e205c273e4dcae0e9453",
      "subject": "Bug 2063127 - Increase the opacity of the URL secondary color text paint style. r=emilio,layout-reviewers"
    },
    "D319659": {
      "author": "Reem H",
      "avatar": "https://www.gravatar.com/avatar/6ff5d1766c0abbbc7f56fb248b548de3?d=identicon\u0026s=64",
      "cl": "D319659",
      "clUrl": "https://phabricator.services.mozilla.com/D319659",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D319659",
      "email": "42309026+reemhamz@users.noreply.github.com",
      "hash": "48b8fa122b5599177347af095eabe1ec5a58f209",
      "subject": "Bug 2063274 - Add Privacy title to widget for screenreader access. r=fluent-reviewers,nina-py,bolsson"
    },
    "D319661": {
      "author": "Sajid Anwar",
      "avatar": "https://www.gravatar.com/avatar/554aa5334d7607ad11128e48fddf84a0?d=identicon\u0026s=64",
      "cl": "D319661",
      "clUrl": "https://phabricator.services.mozilla.com/D319661",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D319661",
      "email": "sajidanwar94@gmail.com",
      "hash": "bec057ba804ef1beeb181accc925097cbb8a1360",
      "subject": "Bug 2064596 - Exclude border/padding when applying text-box-trim to inline boxes. r=layout-reviewers,dshin"
    },
    "D319662": {
      "author": "Timothy Nikkel",
      "avatar": "https://www.gravatar.com/avatar/0646a42110a02dd585f200f270716852?d=identicon\u0026s=64",
      "cl": "D319662",
      "clUrl": "https://phabricator.services.mozilla.com/D319662",
      "description": "Backs out the local patch from bug 2043090 so that the jxl-rs 0.6 upgrade in the\nnext patch lands an unmodified copy of the published crates, and the workaround is\nre-applied on top as its own patch. Split this way so a reviewer can verify that\nthird_party/rust/jxl* is an exact copy of the crates.io tarballs plus exactly one\nlocal patch.\n\nNo behaviour change once the third patch of the series is applied (re-applying this patch).\n\nDifferential Revision: https://phabricator.services.mozilla.com/D319662",
      "email": "tnikkel@gmail.com",
      "hash": "8d56afaee49d384b7be7887bea98d4b92958af12",
      "subject": "Bug 2064595. Back out the vendored jxl_simd Mac/x86_64 workaround ahead of the jxl-rs 0.6 upgrade. r=saschanaz,supply-chain-reviewers"
    },
    "D319663": {
      "author": "Timothy Nikkel",
      "avatar": "https://www.gravatar.com/avatar/0646a42110a02dd585f200f270716852?d=identicon\u0026s=64",
      "cl": "D319663",
      "clUrl": "https://phabricator.services.mozilla.com/D319663",
      "description": "Straight `./mach vendor rust` after bumping image/rust/jxl/Cargo.toml, with no\nlocal modifications on top.\n\nDependency changes: none that affect vendoring. 0.6.0 adds an optional `shuttle`\ndependency, used only by upstream's own concurrency tests; it is not enabled, so it\ndoes not enter Cargo.lock or the vendor set.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D319663",
      "email": "tnikkel@gmail.com",
      "hash": "a81f63e62e89182c581ff391d1259566ebd8a641",
      "subject": "Bug 2064595. Upgrade jxl-rs to 0.6.0. r=saschanaz,supply-chain-reviewers"
    },
    "D319666": {
      "author": "Timothy Nikkel",
      "avatar": "https://www.gravatar.com/avatar/0646a42110a02dd585f200f270716852?d=identicon\u0026s=64",
      "cl": "D319666",
      "clUrl": "https://phabricator.services.mozilla.com/D319666",
      "description": "Re-lands the local patch backed out in the first patch of this series, now on top\nof the unmodified 0.6.0 import. Upstream did not touch src/x86_64/avx.rs or\nsrc/x86_64/avx512.rs between 0.5.1 and 0.6.0, so this is the same patch.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D319666",
      "email": "tnikkel@gmail.com",
      "hash": "33829f650c7729d7157f0aa4611a6aa7b6f7be21",
      "subject": "Bug 2064595. Re-apply the vendored jxl_simd Mac/x86_64 workaround on top of jxl-rs 0.6.0. r=saschanaz,supply-chain-reviewers"
    },
    "D319667": {
      "author": "Timothy Nikkel",
      "avatar": "https://www.gravatar.com/avatar/0646a42110a02dd585f200f270716852?d=identicon\u0026s=64",
      "cl": "D319667",
      "clUrl": "https://phabricator.services.mozilla.com/D319667",
      "description": "jxl 0.6.0 adds an Option\u003c\u0026mut dyn JxlParallelRunner\u003e parameter to\nJxlDecoderInner::process and ::flush_pixels, which breaks the three call sites in\nimage/rust/jxl/src/decoder.rs.\n\nWe pass None to keep the same behaviour:: with None jxl-rs uses its\nown SequentialRunner, and 0.5.1 had no runner concept at all, so decoding stays\nsingle-threaded exactly as before. Supplying a real runner to use multithreaded\ndecoding is a separate change in a future patch.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D319667",
      "email": "tnikkel@gmail.com",
      "hash": "f39d0f94e1cc4ae2deb7da49f2891b0a6a20244c",
      "subject": "Bug 2064595. Pass None for the new parallel-runner argument at the jxl-rs flush_pixels and process call sites. r=saschanaz"
    },
    "D319668": {
      "author": "Timothy Nikkel",
      "avatar": "https://www.gravatar.com/avatar/0646a42110a02dd585f200f270716852?d=identicon\u0026s=64",
      "cl": "D319668",
      "clUrl": "https://phabricator.services.mozilla.com/D319668",
      "description": "jxl-rs 0.6.0 changed the dithering algorithm that is used for u8 output so that basically every pixel gets a +-1 adjustment. This is the same dither algorithm that libjxl adopted.\n\njxl-rs made this change in https://github.com/libjxl/jxl-rs/commit/f694be56506708a6805eac62fa09995a4a58d609.\n\nlibjxl changed the dithering in https://github.com/libjxl/libjxl/commit/2a4f12b6ef22672e0f4a399df3b8589856ebace2 with further fixes/tweaks in https://github.com/libjxl/libjxl/commit/a5ee1a616f371e62521892ea35cbc1856231121f.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D319668",
      "email": "tnikkel@gmail.com",
      "hash": "d12d8165951ae4152e6b9a7d6e418f7f269626d5",
      "subject": "Bug 2064595. Adjust fuzz for jxl-rs 0.6.0 upgrade. r=saschanaz"
    },
    "D319670": {
      "author": "Mark Hammond",
      "avatar": "https://www.gravatar.com/avatar/892812c8e0a35b4cc1b131ad00c2ebbc?d=identicon\u0026s=64",
      "cl": "D319670",
      "clUrl": "https://phabricator.services.mozilla.com/D319670",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D319670",
      "email": "mhammond@skippinet.com.au",
      "hash": "2e4e1eb7eef193031df0bc0e0138468c6fb3d4c7",
      "subject": "Bug 2056071 (part 2) - Vendor application-services rev 7c34b8930543e7c34b89. r=skhamis"
    },
    "D319671": {
      "author": "Mike Hommey",
      "avatar": "https://www.gravatar.com/avatar/5d5f37905f36ca9989f88861a702cff3?d=identicon\u0026s=64",
      "cl": "D319671",
      "clUrl": "https://phabricator.services.mozilla.com/D319671",
      "description": "Using moz_automation directly makes it forcefully disabled on\nnon-automation builds (with no way to override), which wasn't the\noriginal intent before bug 1686880.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D319671",
      "email": "mh+mozilla@glandium.org",
      "hash": "558255a948f6798296be39533d56a8b05bf20b77",
      "subject": "Bug 2064602 - Fix the imply_option for MOZ_LD64_KNOWN_GOOD. r=firefox-build-system-reviewers,sylvestre"
    },
    "D319706": {
      "author": "Julien Cristau",
      "avatar": "https://www.gravatar.com/avatar/15b9b3783e4671cd882bff1316df14c9?d=identicon\u0026s=64",
      "cl": "D319706",
      "clUrl": "https://phabricator.services.mozilla.com/D319706",
      "description": "Restoring the canvas reftests to the general reftest job (they stopped running\nwhen the canvas subsuite was split out) surfaced stale expectations, updated\nhere with `mach wpt-update` from a try push:\n\n- Several offscreen text tests (canvas.2d.fontStretch.*, canvas.2d.offscreen.direction)\n  no longer fail on Android; drop their stale FAIL expectations.\n- canvas.2d.offscreen.worker.lang[.inherit] time out on Android; mark them\n  expected TIMEOUT there.\n- drawImage-from-blob and 2d.reset.render.text[.w] show sub-pixel differences on\n  macOS (max per-channel 1, 2-4 pixels); annotate them fuzzy.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D319706",
      "email": "jcristau@mozilla.com",
      "hash": "4fc18c61645845abd9a9e5efb7df7e56b741be1d",
      "subject": "Bug 2057574 - Update canvas reftest metadata for the re-enabled reftest job. r=ci-and-tooling,aryx"
    },
    "D319708": {
      "author": "Dão Gottwald",
      "avatar": "https://www.gravatar.com/avatar/45dfe136efbb8e5f89eb0b21775ab195?d=identicon\u0026s=64",
      "cl": "D319708",
      "clUrl": "https://phabricator.services.mozilla.com/D319708",
      "description": "`urlbar-searchbar.css` becomes `urlbar.css` and imports the rest of the urlbar's set, so a chrome window, the smartbar and a content document all load the one sheet, the element linking it when it builds outside a chrome window. New Tab's registrant gives it the `urlbar` class most of the rules are keyed on.\n\nThe results still draw behind the page: promoting them to the top layer is the rest of the bug.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D319708",
      "email": "dao@mozilla.com",
      "hash": "59a22ae4d07562b2d255e5cccd1a54ea4eaf04e7",
      "subject": "Bug 2062215 - Load the address bar's stylesheets in a content document. r=mbeier,desktop-theme-reviewers,urlbar-reviewers,hjones"
    },
    "D319709": {
      "author": "Dão Gottwald",
      "avatar": "https://www.gravatar.com/avatar/45dfe136efbb8e5f89eb0b21775ab195?d=identicon\u0026s=64",
      "cl": "D319709",
      "clUrl": "https://phabricator.services.mozilla.com/D319709",
      "description": "Opening the view runs through four chrome-only paths plus an observer notification. A content realm threw on the first of them, and `handleEvent`'s try/catch reported it to a console nothing reads, so the view simply never opened.\n\n`getBoundsWithoutFlushing` moves to `UrlbarShared`, since the input and the view both had their own copy.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D319709",
      "email": "dao@mozilla.com",
      "hash": "53babef4391252be3356cbfc0d06fc30dbe91032",
      "subject": "Bug 2062215 - Make the view's layout and popup paths content-safe. r=daleharvey"
    },
    "D319710": {
      "author": "Dão Gottwald",
      "avatar": "https://www.gravatar.com/avatar/45dfe136efbb8e5f89eb0b21775ab195?d=identicon\u0026s=64",
      "cl": "D319710",
      "clUrl": "https://phabricator.services.mozilla.com/D319710",
      "description": "`#allowBreakout` asked whether the element sits in a toolbar, which is how a chrome window says the urlbar may grow past its container and into the top layer. Content answers it with the popover attribute, which the registrant sets again since the stylesheets reach the page and reset the UA rules that hide a closed popover.\n\nRendered rows also ask for the group labels in enUS-searchFeatures.ftl, which the component's bundles were missing.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D319710",
      "email": "dao@mozilla.com",
      "hash": "55f92889865935379996ea5bd686bf53bc9ef85f",
      "subject": "Bug 2062215 - Open the newtab results view in the top layer. r=daleharvey"
    },
    "D319713": {
      "author": "Dão Gottwald",
      "avatar": "https://www.gravatar.com/avatar/45dfe136efbb8e5f89eb0b21775ab195?d=identicon\u0026s=64",
      "cl": "D319713",
      "clUrl": "https://phabricator.services.mozilla.com/D319713",
      "description": "xul.css gives every XUL element `display: flex` and turns `flex=\"1\"` into `flex: 1`, and a content document loads neither, so the box did not stretch across the input container and the input did not fill the box. The shared sheet states both, computing in chrome what chrome computed before.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D319713",
      "email": "dao@mozilla.com",
      "hash": "7beb0bda95080e53716eb10b98a6a6c8b56f83cb",
      "subject": "Bug 2062215 - Stretch the input box with CSS instead of the XUL flex attribute. r=desktop-theme-reviewers,emilio,daleharvey"
    },
    "D319714": {
      "author": "Dão Gottwald",
      "avatar": "https://www.gravatar.com/avatar/45dfe136efbb8e5f89eb0b21775ab195?d=identicon\u0026s=64",
      "cl": "D319714",
      "clUrl": "https://phabricator.services.mozilla.com/D319714",
      "description": "The block inset is half the height the buttons leave over, while the inline inset was a flat padding, so a bar an embedder made taller left them close to the inline edge and far from the block ones. Deriving both from the same leftover keeps every chrome configuration where it was, the branch that draws a border on the container taking that border out of the padding.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D319714",
      "email": "dao@mozilla.com",
      "hash": "9e2ff2c08be5b737888b63e1950a4ad8ecb715d1",
      "subject": "Bug 2062215 - Keep the buttons' inline inset equal to their block inset. r=mbeier"
    },
    "D319715": {
      "author": "Dão Gottwald",
      "avatar": "https://www.gravatar.com/avatar/45dfe136efbb8e5f89eb0b21775ab195?d=identicon\u0026s=64",
      "cl": "D319715",
      "clUrl": "https://phabricator.services.mozilla.com/D319715",
      "description": "A XUL panel paints the surface the list sits on in a chrome window, so the list keeps no background of its own; where nothing wraps it, it takes the background the widget gives it. The items take their radius from `--panel-menuitem-border-radius`, as they already take their padding and margin, since `--menuitem-border-radius` is only ever defined on a panel or a menupopup.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D319715",
      "email": "dao@mozilla.com",
      "hash": "7825584d37611b41f61f04b4094173a712173064",
      "subject": "Bug 2062215 - Dress the switcher's panel-list where no panel does. r=daleharvey"
    },
    "D319716": {
      "author": "Dão Gottwald",
      "avatar": "https://www.gravatar.com/avatar/45dfe136efbb8e5f89eb0b21775ab195?d=identicon\u0026s=64",
      "cl": "D319716",
      "clUrl": "https://phabricator.services.mozilla.com/D319716",
      "description": "`isInstance` is chrome-only on every WebIDL interface, as are an input's `editor`, `ReaderMode`, `AIWindow` and `gBrowser`, and a content realm threw on each. `handleEvent` reports such a throw to a console nothing reads, so every symptom was silent: selecting a result did nothing, the down arrow moved the caret, the focus ring outlived the focus, and the switcher's popup kept a redundant separator. Interface checks now go through `UrlbarShared`, which picks an implementation per realm; the composition state comes from the input, which tracks it; an `about:reader` URL shows as it is (bug 2064583); and engines to install need a browser window.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D319716",
      "email": "dao@mozilla.com",
      "hash": "b63b646cc5a920241029fee48cc7571b84132996",
      "subject": "Bug 2064632 - Reach chrome-only APIs only where they exist. r=mbeier"
    },
    "D319717": {
      "author": "Dão Gottwald",
      "avatar": "https://www.gravatar.com/avatar/45dfe136efbb8e5f89eb0b21775ab195?d=identicon\u0026s=64",
      "cl": "D319717",
      "clUrl": "https://phabricator.services.mozilla.com/D319717",
      "description": "The slot is a fixed height that the handoff button filled, and the constant lives here, so newtab gives the component that height.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D319717",
      "email": "dao@mozilla.com",
      "hash": "b3c199c0e9afacd965d6738bb6a6da5310e64668",
      "subject": "Bug 2062215 - Size the newtab address bar to the search slot. r=mbeier,mconley"
    },
    "D319723": {
      "author": "Corentin Bect",
      "avatar": "https://www.gravatar.com/avatar/f051ab06364f3531cb4d2d40227d9c6d?d=identicon\u0026s=64",
      "cl": "D319723",
      "clUrl": "https://phabricator.services.mozilla.com/D319723",
      "description": "FilePicker.enqueueForCleanup() calls Uri.getFileName() to name the temporary file that will be deleted later. Content URIs are processed in getFileNameForContentUris(), which used to query the content provider for OpenableColumns.DISPLAY_NAME column without accounting for some failures:\n\n- ContentResolver.query() re throws whatever the content provider throws. For instance, an unrecognized URI can be rejected with an IllegalArgumentException\n- moveToFirst() returns a boolean telling whether the move succeeded. This value was ignored and getString() could be called with an invalid cursor position, leading to a CursorIndexOutOfBoundsException\n\nBoth cases made Firefox crash. getFileNameForContentUris() now checks moveToFirst() result before calling getString(), and treats a RuntimeException from the query or from the cursor read as \"no name available\". A fallback name is now generated once, at the end of the function.\n\nNew unit tests have been added to cover these cases. The existing tests covering getFileNameForContentUris() have been renamed to use GIVEN ... WHEN ... THEN ... form for consistency.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D319723",
      "email": "cbect@mozilla.com",
      "hash": "1961d663da0c7b3636e3e7699ae4ddd2caf27d75",
      "subject": "Bug 2063609 - Prevent crash when a content provider fails to return a file name r=android-reviewers,rebecatudor273"
    },
    "D319724": {
      "author": "Daisuke Akatsuka",
      "avatar": "https://www.gravatar.com/avatar/a65a0876b78fe449d63939aa44c86afc?d=identicon\u0026s=64",
      "cl": "D319724",
      "clUrl": "https://phabricator.services.mozilla.com/D319724",
      "description": "The fade-out mask was left on result titles once rows started wrapping. Wrapping\nswitches the row body containing the title from `display: flex` to\n`display: grid`, which recreates the frames inside it, and no underflow event\nwas fired for the recreated frames even though the title was then wide enough\nfor its contents.\nThis is because the overflow state is reset when reframing, so carry it over to\nthe new frame.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D319724",
      "email": "daisuke@birchill.co.jp",
      "hash": "719ac364b8594e49df504fef9781c20c8fda4402",
      "subject": "Bug 2063167 - Keep scroll container's overflow state across frame reconstruction so underflow is fired. r=layout-reviewers,emilio,hiro"
    },
    "D319726": {
      "author": "James Teh",
      "avatar": "https://www.gravatar.com/avatar/749580f8bd5af77c57367e6c2717e283?d=identicon\u0026s=64",
      "cl": "D319726",
      "clUrl": "https://phabricator.services.mozilla.com/D319726",
      "description": "Previously, we didn't unregister from ATK when shutting down.\nThat was fine because we never supported starting the engine up again after it was shut down, but we soon will.\nAt that point, failure to unregister from ATK will cause subsequent registration attempts to do nothing, so clients can't find us.\nTo fix this, call atk_bridge_adaptor_cleanup when shutting down.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D319726",
      "email": "jteh@mozilla.com",
      "hash": "c8ef71edc46b7f2b144cb2a566aa2472b80b4151",
      "subject": "Bug 2062852 part 3: Enable ATK to be reinitialised after it is shut down. r=eeejay"
    },
    "D319739": {
      "author": "Olivia Hall",
      "avatar": "https://www.gravatar.com/avatar/9bb5ba1328acae6f1d36d1c8564bc4bf?d=identicon\u0026s=64",
      "cl": "D319739",
      "clUrl": "https://phabricator.services.mozilla.com/D319739",
      "description": "Patch adds a print button to the Android PDF viewer.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D319739",
      "email": "ohall@mozilla.com",
      "hash": "98f3968396aba8cec65bc394c9fcbf9f2ef29d39",
      "subject": "Bug 2054917 - Add print button to Android PDF viewer r=android-reviewers,jonalmeida"
    },
    "D319753": {
      "author": "AndiAJ",
      "avatar": "https://www.gravatar.com/avatar/b4ea35e4d5d0c51e2affc0dc2515853c?d=identicon\u0026s=64",
      "cl": "D319753",
      "clUrl": "https://phabricator.services.mozilla.com/D319753",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D319753",
      "email": "andiaj@users.noreply.github.com",
      "hash": "846169f23f28bf07a39e8609ff80a5b137f1e491",
      "subject": "Bug 2064688 - Create new import bookmarks related smoke test r=jajohnson"
    },
    "D319759": {
      "author": "Dão Gottwald",
      "avatar": "https://www.gravatar.com/avatar/45dfe136efbb8e5f89eb0b21775ab195?d=identicon\u0026s=64",
      "cl": "D319759",
      "clUrl": "https://phabricator.services.mozilla.com/D319759",
      "description": "A content realm has neither an extension input session nor an observer service, and `_on_blur` threw on the former, so nothing after it ran, closing the view included.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D319759",
      "email": "dao@mozilla.com",
      "hash": "18c805eb0eb046f725d197760eee669b906f376d",
      "subject": "Bug 2064632 - Notify observers and cancel extension sessions only where they exist. r=mbeier"
    },
    "D319760": {
      "author": "Dão Gottwald",
      "avatar": "https://www.gravatar.com/avatar/45dfe136efbb8e5f89eb0b21775ab195?d=identicon\u0026s=64",
      "cl": "D319760",
      "clUrl": "https://phabricator.services.mozilla.com/D319760",
      "description": "The recorder runs in the realm that shows the results, which cannot reach `UrlbarUtils`, so on New Tab it threw and dropped the engagement events. `isPersistedSearchTermsEnabled` stays behind: persisted search terms are an address bar feature, and a content realm reads them as off.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D319760",
      "email": "dao@mozilla.com",
      "hash": "7343eb5105ebf13487a3e934a92fea933b13de40",
      "subject": "Bug 2062210 - Move the result group and engagement telemetry helpers to UrlbarShared. r=mbeier"
    },
    "D319762": {
      "author": "Valentin Pollet",
      "avatar": "https://www.gravatar.com/avatar/ec6bbf3c5be00645b45d5aac7ae9923c?d=identicon\u0026s=64",
      "cl": "D319762",
      "clUrl": "https://phabricator.services.mozilla.com/D319762",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D319762",
      "email": "vpollet@mozilla.com",
      "hash": "67d7488384180c0a505254c02c433faf831126cb",
      "subject": "Bug 2064679 - Loosen assertions in ml_smart_tab_clustering_perf.js r=vazish,nordzilla,ai-platform-reviewers"
    },
    "D319763": {
      "author": "Updatebot",
      "avatar": "https://www.gravatar.com/avatar/cd270ac15e761e2d4c08e9c9b7cfecca?d=identicon\u0026s=64",
      "cl": "D319763",
      "clUrl": "https://phabricator.services.mozilla.com/D319763",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D319763",
      "email": "updatebot@mozilla.com",
      "hash": "2c41ee9172f29607228ce087cb7f32533bd68161",
      "subject": "Bug 2064693 - Update PDF.js to e051279385c5cf141935037b340e757081052990 r=pdfjs-reviewers,calixte"
    },
    "D319796": {
      "author": "Rémi Papillié",
      "avatar": "https://www.gravatar.com/avatar/6dbd13dd334657fae5d8837fb3cdde16?d=identicon\u0026s=64",
      "cl": "D319796",
      "clUrl": "https://phabricator.services.mozilla.com/D319796",
      "description": "Split expensive superellipse calculations in a separate shader variant to load it lazily instead and speedup startup time.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D319796",
      "email": "rpapillie@mozilla.com",
      "hash": "42a31b4e8e79d496ff359873691355ec86d7d249",
      "subject": "Bug 2063169 - Add WR_FEATURE_SUPERELLIPSE variant to ps_quad_box_shadow. r=gfx-reviewers,nical"
    },
    "D319811": {
      "author": "David Shin",
      "avatar": "https://www.gravatar.com/avatar/65d83535f94ada6020fd3ae8b01f78f9?d=identicon\u0026s=64",
      "cl": "D319811",
      "clUrl": "https://phabricator.services.mozilla.com/D319811",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D319811",
      "email": "dshin@mozilla.com",
      "hash": "252e2c3d83f51e51fb1b890be70629546e802d05",
      "subject": "Bug 2047032: Handle no time being set when switching into document timeline from scroll timeline. r=layout-scroll-driven-animation-reviewers,boris"
    },
    "D319812": {
      "author": "Olivia Hall",
      "avatar": "https://www.gravatar.com/avatar/9bb5ba1328acae6f1d36d1c8564bc4bf?d=identicon\u0026s=64",
      "cl": "D319812",
      "clUrl": "https://phabricator.services.mozilla.com/D319812",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D319812",
      "email": "ohall@mozilla.com",
      "hash": "a383d052ca0aaee3111f8829406135fa2c85bf5c",
      "subject": "Bug 2054918 - Add share button to Android PDF viewer r=android-reviewers,jonalmeida"
    },
    "D319813": {
      "author": "Emilio Cobos Álvarez",
      "avatar": "https://www.gravatar.com/avatar/1d91d22a4892f16f744b31fd4286144e?d=identicon\u0026s=64",
      "cl": "D319813",
      "clUrl": "https://phabricator.services.mozilla.com/D319813",
      "description": "Nothing sets close=no / close=0, and GTK doesn't even deal with it.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D319813",
      "email": "emilio@crisal.io",
      "hash": "8288f74a112af14feafff6400a9ed179304b5cc1",
      "subject": "Bug 2064683 - Remove CHROME_WINDOW_CLOSE. r=dom-core-reviewers,win-reviewers,sfoster,gstoll,smaug"
    },
    "D319815": {
      "author": "Kershaw Chang",
      "avatar": "https://www.gravatar.com/avatar/608e04ebca94be52b05c003d51d43e07?d=identicon\u0026s=64",
      "cl": "D319815",
      "clUrl": "https://phabricator.services.mozilla.com/D319815",
      "description": "mDBLock is taken for writing on nearly every path. The only readers are SizeOfIncludingThis and GetDNSCacheEntries, so the reader/writer split only gives us little concurrency benefit.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D319815",
      "email": "kershaw@mozilla.com",
      "hash": "d44f624fb016accce4d4c6ce4c26014e0d1cc9dd",
      "subject": "Bug 2059597 - Use a plain Mutex for nsHostResolver::mDBLock r=necko-reviewers,valentin"
    },
    "D319831": {
      "author": "Benjamin Peterson",
      "avatar": "https://www.gravatar.com/avatar/cd2e442c42c95ed534e4197df4300222?d=identicon\u0026s=64",
      "cl": "D319831",
      "clUrl": "https://phabricator.services.mozilla.com/D319831",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D319831",
      "email": "benjamin@python.org",
      "hash": "e4eb59824172cf66d906e7a8fabf0ea0f03909fe",
      "subject": "Bug 2064740 - Remove empty browser/components/sharing/tests/browser/browser_testShareAuth.js. r=niklas"
    },
    "D319837": {
      "author": "Nicholas Poon",
      "avatar": "https://www.gravatar.com/avatar/de8191595cff0507f38ca784b6613551?d=identicon\u0026s=64",
      "cl": "D319837",
      "clUrl": "https://phabricator.services.mozilla.com/D319837",
      "description": "willTabsRemainAfterDeletion does not include inactive tabs but the deletion branch that happens due to the function evaluating to false also deletes inactive tabs. Also, note that deleteMultipleTabs now calls removeTabs instead of removeNormalTabs when no active normal tabs remain. This results in tab group assignments being deleted instead of tab groups being closed and tab group assignments are kept, as seen in TabGroupMiddleware.kt. This can be dealt with in a follow up\n\nDifferential Revision: https://phabricator.services.mozilla.com/D319837",
      "email": "npoon@mozilla.com",
      "hash": "ffc5f075fe471e8b88b1f3a936d255a5b9ec1dba",
      "subject": "Bug 2064507 - When all active normal tabs are selected for deletion, don't remove inactive tabs r=android-reviewers,007"
    },
    "D319847": {
      "author": "Kershaw Chang",
      "avatar": "https://www.gravatar.com/avatar/608e04ebca94be52b05c003d51d43e07?d=identicon\u0026s=64",
      "cl": "D319847",
      "clUrl": "https://phabricator.services.mozilla.com/D319847",
      "description": "nsIDNSAddrRecord::fromStaleCache is currently derived from CheckExpiration() at read time, which can make fresh 0-TTL answers look stale because they enter the grace window immediately.\nThis patch stores the flag on nsHostRecord instead: set it only when serving a grace-period entry from cache, and clear it on every fresh resolution.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D319847",
      "email": "kershaw@mozilla.com",
      "hash": "8b0df7e4211e48b441bc762d5dfd698ef1ed9eec",
      "subject": "Bug 2064432 - Capture DNS fromStaleCache at serve time r=mxinden,necko-reviewers,valentin"
    },
    "D319849": {
      "author": "Emma Zuehlcke",
      "avatar": "https://www.gravatar.com/avatar/46f58cc04758e80835820f0f1d5646bb?d=identicon\u0026s=64",
      "cl": "D319849",
      "clUrl": "https://phabricator.services.mozilla.com/D319849",
      "description": "Removals were routed with BrowsingContext::GetCurrentTopByBrowserId. On tab close\nthat always returns null, since BrowsingContext::Detach unregisters the BrowserId\nbefore firing \"browsing-context-discarded\", the notification that drives\nRemoveAllForBrowser. Broadcast ClearBrowserPermissions instead; it names no\norigin, so this discloses nothing.\n\nA removal on a live tab only reached bc-\u003eCanonical()-\u003eGetContentParent(), missing\nprocesses seeded by TransmitBrowserPermissionsForPrincipal. SetBrowserPermission\ndoes carry an origin, so select its targets by permission key via\nNeedsPermissionsUpdate rather than broadcasting. That key has no tab dimension,\nso a process holding the origin for another tab is notified too.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D319849",
      "email": "emz@mozilla.com",
      "hash": "a845ae2cf750ce5c3dd6087409a7d33dd1055b66",
      "subject": "Bug 2064718 - Deliver browser-scoped permission removals to every content process holding a copy. r=timhuang"
    },
    "D319850": {
      "author": "Emma Zuehlcke",
      "avatar": "https://www.gravatar.com/avatar/46f58cc04758e80835820f0f1d5646bb?d=identicon\u0026s=64",
      "cl": "D319850",
      "clUrl": "https://phabricator.services.mozilla.com/D319850",
      "description": "The \"browser-perm-changed\" observer QI'd its subject to nsIPermission\nunconditionally, but a bulk clear notifies with an nsISupportsPRUint64 carrying\nthe browserId. The QI threw NS_NOINTERFACE, so no PermissionStateChange event was\ndispatched after removeAllForBrowser or removeByActionForBrowser. Discriminate on\nthe notification data, as PermissionObserver::Observe does.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D319850",
      "email": "emz@mozilla.com",
      "hash": "4f46b1144708ba4894327ef5c675a0eccfa26a7d",
      "subject": "Bug 2064716 - Handle bulk browser-scoped permission clears in the SitePermissions observer. r=timhuang"
    },
    "D319857": {
      "author": "Dão Gottwald",
      "avatar": "https://www.gravatar.com/avatar/45dfe136efbb8e5f89eb0b21775ab195?d=identicon\u0026s=64",
      "cl": "D319857",
      "clUrl": "https://phabricator.services.mozilla.com/D319857",
      "description": "This is the route `whereToOpen` already takes for the same call. Dropping the `ignoreAlt` argument it used to pass changes nothing, since the mapping here funnels anything that is not a tab to the current one.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D319857",
      "email": "dao@mozilla.com",
      "hash": "b974800f0ae2a52c2d60958d5499abf3d7f06550",
      "subject": "Bug 2064632 - Take the switcher's open-where decision through the actor. r=mbeier"
    },
    "D319858": {
      "author": "Moritz Beier",
      "avatar": "https://www.gravatar.com/avatar/db9378640c16b8cdcfcebed97713987a?d=identicon\u0026s=64",
      "cl": "D319858",
      "clUrl": "https://phabricator.services.mozilla.com/D319858",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D319858",
      "email": "mbeier@mozilla.com",
      "hash": "989ff821fdeef2465ec07427e8f4d324724d2197",
      "subject": "Bug 2062944 - Move UrlbarChildController's non-controller utility pass-throughs into a per-realm content utils module. r=dao,urlbar-reviewers"
    },
    "D319871": {
      "author": "Bryan Johns",
      "avatar": "https://www.gravatar.com/avatar/26880c326c36e30d2e428dc2ac90e5e4?d=identicon\u0026s=64",
      "cl": "D319871",
      "clUrl": "https://phabricator.services.mozilla.com/D319871",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D319871",
      "email": "bjohns@mozilla.com",
      "hash": "c256f393763794684b6b92a0563d9b037569597c",
      "subject": "Bug 2064790 - Set browser.smartwindow.searchTheWebFast default to true r=vazish"
    },
    "D319873": {
      "author": "Moyin",
      "avatar": "https://www.gravatar.com/avatar/e7bd9e59647f97d585f7e199eba733f9?d=identicon\u0026s=64",
      "cl": "D319873",
      "clUrl": "https://phabricator.services.mozilla.com/D319873",
      "description": "Needs manual testing:\n\nOn the device:\n1. Developer options -\u003e USB debugging on\n2. Fenix -\u003e Settings -\u003e Advanced -\u003e Remote debugging via USB on\n\nOn the desktop:\n  3. Open Firefox, go to about:debugging\n  4. Setup -\u003e Enable USB Devices\n  5. Connect the phone, unlock it, accept the ADB prompt\n  6. Select the device in the left panel\n\nTo read the value: click Inspect on the tab, open the Console, and evaluate `document.documentElement.lang`\n\nTest the default path\n1. Pick an article that declares a language. Confirm it first: load the article, and inspect it BEFORE entering reader mode, and check that `document.documentElement.lang` is non-empty.\n2. Enter reader mode.\n3. Evaluate `document.documentElement.lang` on the reader page.\n\nEXPECTED: the article's tag, for example \"fr\" or \"zh-CN\".\n\nDifferential Revision: https://phabricator.services.mozilla.com/D319873",
      "email": "madeyemi@mozilla.com",
      "hash": "2cad4cd3913c065143c6544e519a138a39d6b08e",
      "subject": "Bug 2062976: Fix article language and write it to the readerview page r=android-reviewers,skhan"
    },
    "D319877": {
      "author": "Jack Brown",
      "avatar": "https://www.gravatar.com/avatar/9390fad805dd5d2471db8ce47f8d239d?d=identicon\u0026s=64",
      "cl": "D319877",
      "clUrl": "https://phabricator.services.mozilla.com/D319877",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D319877",
      "email": "jbrown@mozilla.com",
      "hash": "d124877e9012ffc26902730cb240a9760b77c6b3",
      "subject": "Bug 2063091 - Don't show the dnsNotFound search CTA in subframes - r=mconley"
    },
    "D319880": {
      "author": "Yubin Jamora",
      "avatar": "https://www.gravatar.com/avatar/c21ec870d5a27b600be6b5b58aba1a58?d=identicon\u0026s=64",
      "cl": "D319880",
      "clUrl": "https://phabricator.services.mozilla.com/D319880",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D319880",
      "email": "yjamora@mozilla.com",
      "hash": "252eb0e1b7a4c9cabf8ece484188351d89a04d54",
      "subject": "Bug 2062417 - browser.smartwindow.agent.enabled set default and set nimbus feature pattern for Smart Window Agent Watch r=ngrato"
    },
    "D319898": {
      "author": "Christopher DiPersio",
      "avatar": "https://www.gravatar.com/avatar/4a7b1453542d6fc58b19ffa98e37b38c?d=identicon\u0026s=64",
      "cl": "D319898",
      "clUrl": "https://phabricator.services.mozilla.com/D319898",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D319898",
      "email": "cdipersio@mozilla.com",
      "hash": "628bcb5a2ec324fb2b7825dba17426d3ebd36bf7",
      "subject": "Bug 2064838 - Reduce PUWYLO URL semantic similarity threshold and expose as a pref r=cmurray"
    },
    "D319901": {
      "author": "Jackie Johnson",
      "avatar": "https://www.gravatar.com/avatar/679ab5b029ef3ae60883ec8b488cd982?d=identicon\u0026s=64",
      "cl": "D319901",
      "clUrl": "https://phabricator.services.mozilla.com/D319901",
      "description": "Ports the two default-autoplay smoke tests: verifyAutoplayBlockAudioOnlySettingOnNotMutedVideoTest\n(TestRail 2095125) and verifyAutoplayBlockAudioOnlySettingOnMutedVideoTest (TestRail 2286807). Both\nassert the behaviour of the default Autoplay setting, so neither changes it: a video with sound must\nnot autoplay and needs the page's Play control, while a muted video plays on its own.\n\nAdds SettingsSiteSettingsAutoplayPage with its navigation and return edges, and Autoplay selectors\nauthored against a live screen dump rather than the legacy robot's locators. Two parity notes:\n\nEach radio's text is the label and its subtext joined by a newline (\"Block audio only\\nRecommended\"),\nso an exact-text selector built from the strings.xml label alone can never resolve. The screen is\nanchored on an autoplay-only text-contains fragment, because the radio res-ids are shared with the\nCamera, Location and Microphone screens, where the 3rd and 4th radios are merely hidden and\nonView(withId(...)) resolves regardless of visibility.\n\nLegacy asserted the three visible options with Espresso withEffectiveVisibility(VISIBLE). The port\nuses a UIAutomator res-id group check, which carries the same guarantee because that tree contains\nonly displayed nodes.\n\nBoth tests pass on device with no retry.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D319901",
      "email": "jajohnson@mozilla.com",
      "hash": "cfd01c9e9239ca34fd1d30160069519c45283399",
      "subject": "Bug 2064810 - [efficiency] Convert the SettingsSitePermissionsTest autoplay smoke tests to ui/efficiency r=aaronmt"
    },
    "D319902": {
      "author": "Jackie Johnson",
      "avatar": "https://www.gravatar.com/avatar/679ab5b029ef3ae60883ec8b488cd982?d=identicon\u0026s=64",
      "cl": "D319902",
      "clUrl": "https://phabricator.services.mozilla.com/D319902",
      "description": "Ports blockNotificationsPermissionTest (TestRail 2334294), allowLocationPermissionsTest (TestRail\n251380) and audioVideoPermissionWithoutRememberingTheDecisionTest (TestRail 2334295).\n\nThe page under test stays the test-eng team's live permissions page rather than a mock-server asset:\nthese prompts are raised by real getUserMedia/Notification/geolocation calls, which no local fixture\nreproduces. Carries over the legacy class's GrantPermissionRule, MockLocationUpdatesRule and the\nPromptAbuserDetector toggle - without the last one, a second prompt in the same test is suppressed as\nabuse and the assertion reads as a missing prompt.\n\nPrompt selectors match the prompt buttons by res-id AND label, which keeps legacy's\nassertItemTextEquals assertions on the per-permission labels (Never/Always for notifications,\nDon't allow/Allow elsewhere) instead of only proving that a button exists.\n\nThe page's trigger buttons are matched by web DOM id and label, both taken from a live dump. A\ntext-only match is unsafe: the page prints a heading above each button (\"Test Camera \u0026 Microphone\nDialogue\" over \"Camera \u0026 Microphone\"), so a text-contains selector resolves the non-clickable heading\nand the click then fails with \"Failed to click UiObject\" while reporting the element as found.\n\nAll three tests pass on device with no retry.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D319902",
      "email": "jajohnson@mozilla.com",
      "hash": "ef893e3b3becab349da54ca99777d5cf575659fc",
      "subject": "Bug 2064815 - [efficiency] Convert three SitePermissionsTest permission-prompt smoke tests to ui/efficiency r=aaronmt"
    },
    "D319903": {
      "author": "Jackie Johnson",
      "avatar": "https://www.gravatar.com/avatar/679ab5b029ef3ae60883ec8b488cd982?d=identicon\u0026s=64",
      "cl": "D319903",
      "clUrl": "https://phabricator.services.mozilla.com/D319903",
      "description": "Ports clearAllSitePermissionsExceptionsTest (TestRail 2095124). The test creates a real exception by\nallowing the notifications prompt on the test-eng permissions page, then clears it from\nSettings \u003e Site settings \u003e Exceptions.\n\nThe Cancel round-trip is kept because it is the point of the test: legacy dismissed the\nclear-permissions dialog once and re-opened it, proving Cancel clears nothing, before confirming with\nOK.\n\nAdds exceptions-screen selectors - the exception row, the clear-on-all-sites button, and the dialog\ntitle with its Cancel/OK buttons - all resolved from string resources rather than literals.\n\nPasses on device with no retry.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D319903",
      "email": "jajohnson@mozilla.com",
      "hash": "92167a2b1c26bc471ee0c889f051d62f78675c58",
      "subject": "Bug 2064823 - [efficiency] Convert SettingsSitePermissionsTest.clearAllSitePermissionsExceptionsTest to ui/efficiency r=aaronmt"
    },
    "D319904": {
      "author": "Jackie Johnson",
      "avatar": "https://www.gravatar.com/avatar/679ab5b029ef3ae60883ec8b488cd982?d=identicon\u0026s=64",
      "cl": "D319904",
      "clUrl": "https://phabricator.services.mozilla.com/D319904",
      "description": "Walks the Camera, Location and Microphone permission screens while Android still blocks all three,\nfollows the in-app \"Go to Settings\" button into the app's system permission settings, grants all three\nthere, and asserts all three screens no longer show the blocked-by-Android section. The legacy test\ncarries no TestRail link, so none is recorded in the port.\n\nBuilds out the SettingsSiteSettingsPermissionsPage stub. It was never instantiated in PageContext, so\nits navigation registration never ran, and its edge stopped one screen short of its own arrival anchor.\nIt now reaches the Camera screen and registers a return edge. Selectors were authored against a live\nscreen dump, which also supplied the blocked-state container res-id that legacy reached through a\nprivate helper.\n\nOne deliberate improvement over the legacy assertions. Legacy branched on Build.VERSION to decide\nwhether to assert the granted row's \"Only while app is in use\" summary, which is only rendered up to\nAPI 30; above that it asserted only that a row with the permission's title exists - and that row is\npresent whether the permission is allowed or denied, so the assertion could not fail on a modern\nrelease. The port keeps the row assertion for parity and adds the OS's own permission state through\nPackageManager, which needs no version branch and cannot pass for a denied permission.\n\nPasses on device with no retry, and the whole converted class passes together.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D319904",
      "email": "jajohnson@mozilla.com",
      "hash": "18aa0cdfc6dcb2c539d75135f26eb1d151b086c1",
      "subject": "Bug 2064833 - [efficiency] Convert SettingsSitePermissionsTest.systemBlockedPermissionsRedirectToSystemAppSettingsTest to ui/efficiency r=aaronmt"
    },
    "D319909": {
      "author": "Ryan VanderMeulen",
      "avatar": "https://www.gravatar.com/avatar/51823ded02903fa76c961fe2a3c1318a?d=identicon\u0026s=64",
      "cl": "D319909",
      "clUrl": "https://phabricator.services.mozilla.com/D319909",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D319909",
      "email": "rvandermeulen@mozilla.com",
      "hash": "3c03f9c11e150b989ed8e9c451aaefe1605779a7",
      "subject": "Bug 2064851 - Update Gradle to version 9.7.1. r=android-reviewers,mcarare"
    },
    "D319910": {
      "author": "Nicolas Grunbaum",
      "avatar": "https://www.gravatar.com/avatar/e49c6f6d2a2296f8ff216adbd0a60fe5?d=identicon\u0026s=64",
      "cl": "D319910",
      "clUrl": "https://phabricator.services.mozilla.com/D319910",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D319910",
      "email": "ngrunbaum@mozilla.com",
      "hash": "69be58c81129528954f93da816468b9ae15e3ea4",
      "subject": "Bug 2064582 - update rsdparsa_capi to use webrtc-sdp 0.3.14;r=mjf"
    },
    "D319911": {
      "author": "Nicolas Grunbaum",
      "avatar": "https://www.gravatar.com/avatar/e49c6f6d2a2296f8ff216adbd0a60fe5?d=identicon\u0026s=64",
      "cl": "D319911",
      "clUrl": "https://phabricator.services.mozilla.com/D319911",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D319911",
      "email": "ngrunbaum@mozilla.com",
      "hash": "af8974f74e4f86b3708ea577bbf0369f409a7835",
      "subject": "Bug 2064582 - vendor webrtc-sdp 0.3.14;r=mjf,supply-chain-reviewers"
    },
    "D319921": {
      "author": "David Shin",
      "avatar": "https://www.gravatar.com/avatar/65d83535f94ada6020fd3ae8b01f78f9?d=identicon\u0026s=64",
      "cl": "D319921",
      "clUrl": "https://phabricator.services.mozilla.com/D319921",
      "description": "... Since looking up timeline source is async as per the following resolution:\nhttps://github.com/w3c/csswg-drafts/issues/13480\n\nDifferential Revision: https://phabricator.services.mozilla.com/D319921",
      "email": "dshin@mozilla.com",
      "hash": "44ef3d6243bf20adc2254edb6317953efb0a5579",
      "subject": "Bug 2058328: Flush layout before timeline.source check in unattached-subject-inset.html. r=layout-scroll-driven-animation-reviewers,boris"
    },
    "D319933": {
      "author": "Bryan Olsson",
      "avatar": "https://www.gravatar.com/avatar/34df29d70aca0d9b18a6a8fbb65acd5b?d=identicon\u0026s=64",
      "cl": "D319933",
      "clUrl": "https://phabricator.services.mozilla.com/D319933",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D319933",
      "email": "bolsson@mozilla.com",
      "hash": "2aae576657906106e192f61ecb83cf86ae78c42f",
      "subject": "Bug 2064914 - add plural selector to Fluent string newtab-stocks-watchlist-full, r=flod,fluent-reviewers DONTBUILD"
    },
    "D319943": {
      "author": "Mike Conley",
      "avatar": "https://www.gravatar.com/avatar/4b4985a7acf7db49dfddd7815b55a043?d=identicon\u0026s=64",
      "cl": "D319943",
      "clUrl": "https://phabricator.services.mozilla.com/D319943",
      "description": "The 2004 variant we used was from the tail end of 2004 when Firefox 1.0 was released, but\napparently most people expected the variant for 2004 to be the one from versions 0.8 to 0.10,\nso we're swapping in that asset instead.\n\nThe margins around the Momo and Retro 2017 variants have also been tightened up.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D319943",
      "email": "mconley@mozilla.com",
      "hash": "de3cb9d472f7dcda7ea30ea39b281a53e6fba7af",
      "subject": "Bug 2064594 - Update custom icons with tighter margins, and use the older 2004 variant. r=yazan"
    },
    "D319951": {
      "author": "Nathan Barrett",
      "avatar": "https://www.gravatar.com/avatar/fd7ea2d387f4c5d34b811080963a74fa?d=identicon\u0026s=64",
      "cl": "D319951",
      "clUrl": "https://phabricator.services.mozilla.com/D319951",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D319951",
      "email": "nbarrett@mozilla.com",
      "hash": "fea3d07805fc404d47f1a261b215b727b62a7163",
      "subject": "Bug 2064925 - Update string to use Firefox for all channels r=fluent-reviewers,niklas,mconley,bolsson"
    },
    "D319970": {
      "author": "Steve Fink",
      "avatar": "https://www.gravatar.com/avatar/31f940cb8df709df2597484cda2b7f34?d=identicon\u0026s=64",
      "cl": "D319970",
      "clUrl": "https://phabricator.services.mozilla.com/D319970",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D319970",
      "email": "sfink@mozilla.com",
      "hash": "b17e03bfeeab30f4be2018164a8bcbe36e6f483e",
      "subject": "Bug 2044002 - Remove Get*ArrayLengthAndData APIs that directly access slot r=spidermonkey-reviewers,jandem"
    },
    "D319986": {
      "author": "Chris Peterson",
      "avatar": "https://www.gravatar.com/avatar/fce12300b80ca98151e9331523d6a2dc?d=identicon\u0026s=64",
      "cl": "D319986",
      "clUrl": "https://phabricator.services.mozilla.com/D319986",
      "description": "Enable four warnings, three of which are new in clang 21:\n\n* -Wimplicit-int-enum-cast: catches some implicit conversions from int\n  to enum\n\n* -Woctal-prefix-extension: catches clang's nonstandard 0o octal prefix,\n  which gcc does not support\n\n* -Wshift-bool: catches right shifting a bool, which implicitly converts\n  it to int\n\n* -Wvector-conversion: catches implicit conversions between incompatible\n  SIMD vector types\n\nhttps://releases.llvm.org/21.1.0/tools/clang/docs/DiagnosticsReference.html\n\nDifferential Revision: https://phabricator.services.mozilla.com/D319986",
      "email": "cpeterson@mozilla.com",
      "hash": "e9d15114030c0366ba87f00f8a427b550deebb74",
      "subject": "Bug 2065000 - Enable some new clang 21 warnings. r=firefox-build-system-reviewers,sergesanspaille"
    },
    "D319993": {
      "author": "Rong Bao",
      "avatar": "https://www.gravatar.com/avatar/ebbe93ed6a8a3d3d694d9638635e8c87?d=identicon\u0026s=64",
      "cl": "D319993",
      "clUrl": "https://phabricator.services.mozilla.com/D319993",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D319993",
      "email": "webmaster@csmantle.top",
      "hash": "27def1ef41e52d649470661dd2e1f35631a2c53e",
      "subject": "Bug 2065007 - Redefine X11's Success macro to X11Success to avoid conflicts. r=gfx-reviewers,gtk-reviewers,lsalzman,emilio"
    },
    "D320003": {
      "author": "Updatebot",
      "avatar": "https://www.gravatar.com/avatar/cd270ac15e761e2d4c08e9c9b7cfecca?d=identicon\u0026s=64",
      "cl": "D320003",
      "clUrl": "https://phabricator.services.mozilla.com/D320003",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D320003",
      "email": "updatebot@mozilla.com",
      "hash": "92935d3c2e6de17de4809174525c3195dd306f56",
      "subject": "Bug 2065026 - Update android nightly application-services version bump to 7c34b8930543e702230ed26e1e932929a737f7f6 r=release-managers,RyanVM"
    },
    "D320015": {
      "author": "Masayuki Nakano",
      "avatar": "https://www.gravatar.com/avatar/900caab146bc7a489b3854cf10acf93f?d=identicon\u0026s=64",
      "cl": "D320015",
      "clUrl": "https://phabricator.services.mozilla.com/D320015",
      "description": "This is used only for notifying editors of new `spellcheck` value when\n`spellcheck` attr is changed. Therefore, it does not need to create\nnew `TextEditor`s immediately because new `TextEditor` will be\ninitialized with the latest `spellcheck` value. And also the root caller\nis `AfterSetAttr`. So, any script shouldn't run when initializing new\n`TextEditor` instances. So, the method should return only extant\n`TextEditor` when it's a `TextControlElement`.\n\nAdditionally, this refactors the related methods to return a raw\npointer of `EditorBase`.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D320015",
      "email": "masayuki@d-toybox.com",
      "hash": "306c6d3d179b01aac89274e4c35c0bfe78eab85d",
      "subject": "Bug 2040051 - Make `nsGenericHTMLElement::GetAssociatedEditor` return an extant editor r=dom-core-reviewers,smaug"
    },
    "D320018": {
      "author": "Alexandra Borovova",
      "avatar": "https://www.gravatar.com/avatar/b5f1ef97b56e8d368128ed4a4206a6ff?d=identicon\u0026s=64",
      "cl": "D320018",
      "clUrl": "https://phabricator.services.mozilla.com/D320018",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D320018",
      "email": "aborovova@mozilla.com",
      "hash": "ee2694aa86322f609287de45064105979b8de7bf",
      "subject": "Bug 2064756 - Enable \"layout.css.scroll-driven-animations.enabled\" preference for css/css-viewport/zoom/animation-range.html. r=emilio"
    },
    "D320022": {
      "author": "Alexandra Borovova",
      "avatar": "https://www.gravatar.com/avatar/b5f1ef97b56e8d368128ed4a4206a6ff?d=identicon\u0026s=64",
      "cl": "D320022",
      "clUrl": "https://phabricator.services.mozilla.com/D320022",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D320022",
      "email": "aborovova@mozilla.com",
      "hash": "b8e66c28fbd5afe0a0a8a4086be4122c44ddb678",
      "subject": "Bug 2064782 - Update metadata for fetch/local-network-access/service-worker.tentative.https.html."
    },
    "D320028": {
      "author": "Julian Descottes",
      "avatar": "https://www.gravatar.com/avatar/60dd86ccfd9c63b53e9f2a34b2f48442?d=identicon\u0026s=64",
      "cl": "D320028",
      "clUrl": "https://phabricator.services.mozilla.com/D320028",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D320028",
      "email": "jdescottes@mozilla.com",
      "hash": "b80cee07668abd722eccdfdaa9f73026d1f33ea7",
      "subject": "Bug 2065050 - [devtools] Add moz log for devtools adb helpers r=devtools-reviewers,ochameau"
    },
    "D320029": {
      "author": "Julian Descottes",
      "avatar": "https://www.gravatar.com/avatar/60dd86ccfd9c63b53e9f2a34b2f48442?d=identicon\u0026s=64",
      "cl": "D320029",
      "clUrl": "https://phabricator.services.mozilla.com/D320029",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D320029",
      "email": "jdescottes@mozilla.com",
      "hash": "7860c26ecbd1f8b9b5870beee26e49e3a5f2ab05",
      "subject": "Bug 2045293 - [devtools] Disable about:debugging tests starting ADB on macos 1500 r=devtools-reviewers,ochameau"
    },
    "D320033": {
      "author": "iain holmes",
      "avatar": "https://www.gravatar.com/avatar/0fbfa48ae93f2eded6d6ef095ea9211d?d=identicon\u0026s=64",
      "cl": "D320033",
      "clUrl": "https://phabricator.services.mozilla.com/D320033",
      "description": "Fixes the typo in the resource line\n\nDifferential Revision: https://phabricator.services.mozilla.com/D320033",
      "email": "iholmes@mozilla.com",
      "hash": "7973d661f0ad948df213050ae390c297572b2677",
      "subject": "Bug 2065015: Fix typo for UnsupportedLaunchOnLogin implementation.r=aborondo"
    },
    "D320042": {
      "author": "Emilio Cobos Álvarez",
      "avatar": "https://www.gravatar.com/avatar/1d91d22a4892f16f744b31fd4286144e?d=identicon\u0026s=64",
      "cl": "D320042",
      "clUrl": "https://phabricator.services.mozilla.com/D320042",
      "description": "Note that this is different from the ::-moz-placeholder pseudo-element.\n\nThis was a compat hack from ages ago and has never matched anything, see\nbug 1366709 where we introduced it for stylo, and bug 819871 where this\nhack was added.\n\nI think we should try to remove it from content nowadays.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D320042",
      "email": "emilio@crisal.io",
      "hash": "ed38e447cce8a33d768a88877d1a7e0d29f514db",
      "subject": "Bug 1963352 - Unship the :-moz-placeholder pseudo-class. r=firefox-style-system-reviewers,dshin"
    },
    "D320047": {
      "author": "Emilio Cobos Álvarez",
      "avatar": "https://www.gravatar.com/avatar/1d91d22a4892f16f744b31fd4286144e?d=identicon\u0026s=64",
      "cl": "D320047",
      "clUrl": "https://phabricator.services.mozilla.com/D320047",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D320047",
      "email": "emilio@crisal.io",
      "hash": "e00696042c3b4784aeb6d8376ee7b55c21c091d4",
      "subject": "Bug 2065065 - Remove dom.viewTransitions.enabled. r=webidl,smaug"
    },
    "D320049": {
      "author": "Ayoub hedri",
      "avatar": "https://www.gravatar.com/avatar/fdbcd28dcb0e692d9c62e90ea453beb0?d=identicon\u0026s=64",
      "cl": "D320049",
      "clUrl": "https://phabricator.services.mozilla.com/D320049",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D320049",
      "email": "ahedri@mozilla.com",
      "hash": "fd8dbc13a269ad838378144e230aee796be1c55e",
      "subject": "Bug 2064829 - Add missing reference targets to bug-mgmt documentation. r=freddyb"
    },
    "D320050": {
      "author": "Keith Cirkel",
      "avatar": "https://www.gravatar.com/avatar/87a4065b580b6f1e43858ab49d98c109?d=identicon\u0026s=64",
      "cl": "D320050",
      "clUrl": "https://phabricator.services.mozilla.com/D320050",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D320050",
      "email": "keithamus@users.noreply.github.com",
      "hash": "3b2cf84fc2c1c532abbf032e785e5a551ebcfff6",
      "subject": "Bug 2065067 - Clean up FAIL/PASS on CloseWatcher IDL exposure test r=dom-core-reviewers,smaug"
    },
    "D320051": {
      "author": "Keith Cirkel",
      "avatar": "https://www.gravatar.com/avatar/87a4065b580b6f1e43858ab49d98c109?d=identicon\u0026s=64",
      "cl": "D320051",
      "clUrl": "https://phabricator.services.mozilla.com/D320051",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D320051",
      "email": "keithamus@users.noreply.github.com",
      "hash": "f6ec832dd4f33a9f009e4034592381fd3adc829b",
      "subject": "Bug 2065070 - Clean up FAIL/PASS on CommandEvent IDL exposure test r=dom-core-reviewers,smaug"
    },
    "D320052": {
      "author": "Alexandra Borovova",
      "avatar": "https://www.gravatar.com/avatar/b5f1ef97b56e8d368128ed4a4206a6ff?d=identicon\u0026s=64",
      "cl": "D320052",
      "clUrl": "https://phabricator.services.mozilla.com/D320052",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D320052",
      "email": "aborovova@mozilla.com",
      "hash": "aa122ac0a584608ebf217170522991282149a17d",
      "subject": "Bug 2065060 - Update metadata for html/user-activation/navigate-to-crossorigin-redirect.html."
    },
    "D320053": {
      "author": "Alexandra Borovova",
      "avatar": "https://www.gravatar.com/avatar/b5f1ef97b56e8d368128ed4a4206a6ff?d=identicon\u0026s=64",
      "cl": "D320053",
      "clUrl": "https://phabricator.services.mozilla.com/D320053",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D320053",
      "email": "aborovova@mozilla.com",
      "hash": "a06f60f42642177e61d5ea5674b8efe6d79b9345",
      "subject": "Bug 2065058 - Update metadata for html/semantics/scripting-1/the-script-element/module/dynamic-import/microtasks/basic.shared.html."
    },
    "D320062": {
      "author": "Jon Coppeard",
      "avatar": "https://www.gravatar.com/avatar/c9ec760b0d3a20a6775614baa4086871?d=identicon\u0026s=64",
      "cl": "D320062",
      "clUrl": "https://phabricator.services.mozilla.com/D320062",
      "description": "Some slots allow any kind of Value. Adding this macro makes the slot\ndefinitions more regular and easier to read.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D320062",
      "email": "jcoppeard@mozilla.com",
      "hash": "fd89852be27da60ff8cac86bf4c10679d89cc8f2",
      "subject": "Bug 2065066 - Part 1: Add JS_DEFINE_UNTYPED_SLOT macro r=spidermonkey-reviewers,jandem"
    },
    "D320063": {
      "author": "Jon Coppeard",
      "avatar": "https://www.gravatar.com/avatar/c9ec760b0d3a20a6775614baa4086871?d=identicon\u0026s=64",
      "cl": "D320063",
      "clUrl": "https://phabricator.services.mozilla.com/D320063",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D320063",
      "email": "jcoppeard@mozilla.com",
      "hash": "bb967a97fb1c890f69a5ffb8462c85199e9d2a24",
      "subject": "Bug 2065066 - Part 2: Use typed slot access for promises r=spidermonkey-reviewers,jandem"
    },
    "D320064": {
      "author": "Jon Coppeard",
      "avatar": "https://www.gravatar.com/avatar/c9ec760b0d3a20a6775614baa4086871?d=identicon\u0026s=64",
      "cl": "D320064",
      "clUrl": "https://phabricator.services.mozilla.com/D320064",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D320064",
      "email": "jcoppeard@mozilla.com",
      "hash": "1e6ed7cdf2644d13277ad7640f497c203253f403",
      "subject": "Bug 2065066 - Part 3: Use typed slot access for array buffers r=spidermonkey-reviewers,jandem"
    },
    "D320065": {
      "author": "Jon Coppeard",
      "avatar": "https://www.gravatar.com/avatar/c9ec760b0d3a20a6775614baa4086871?d=identicon\u0026s=64",
      "cl": "D320065",
      "clUrl": "https://phabricator.services.mozilla.com/D320065",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D320065",
      "email": "jcoppeard@mozilla.com",
      "hash": "5d2c4c76a00fbb87dd05fa00e6a31465d78c58d1",
      "subject": "Bug 2065066 - Part 4: Use typed slots of async iteration r=spidermonkey-reviewers,jandem"
    },
    "D320082": {
      "author": "Tiaan Louw",
      "avatar": "https://www.gravatar.com/avatar/8527be9edeb5f331c51aa9f0a8f04798?d=identicon\u0026s=64",
      "cl": "D320082",
      "clUrl": "https://phabricator.services.mozilla.com/D320082",
      "description": "Cancel pending cmap loading at AppShutdownConfirmed and remove the redundant late-shutdown observer.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D320082",
      "email": "tlouw@mozilla.com",
      "hash": "811896c8f32a266698faa747262710f67336065e",
      "subject": "Bug 2019903 - Stop loading font cmaps after shutdown begins r=layout-reviewers,jfkthame"
    },
    "D320085": {
      "author": "Dave Townsend",
      "avatar": "https://www.gravatar.com/avatar/362f7fbd402cbbcc24cc12580712aa62?d=identicon\u0026s=64",
      "cl": "D320085",
      "clUrl": "https://phabricator.services.mozilla.com/D320085",
      "description": "There isn't really any need to test the argument count before passing to `HandleCommandLine`, we don't in the dbus case either.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D320085",
      "email": "dtownsend@oxymoronical.com",
      "hash": "deb41d3e4a31afbffa3dceaab1d1fae432ff703a",
      "subject": "Bug 2061215: Skip argument count checking. r=emilio"
    },
    "D320086": {
      "author": "Valentin Gosu",
      "avatar": "https://www.gravatar.com/avatar/dedff9d4500fcbc5cdd1cd270f044b33?d=identicon\u0026s=64",
      "cl": "D320086",
      "clUrl": "https://phabricator.services.mozilla.com/D320086",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D320086",
      "email": "valentin.gosu@gmail.com",
      "hash": "f9de241255f34f5ebb07ae6a8be9d386f605c150",
      "subject": "Bug 2064979 - Extend metrics expiring at the end of Firefox 156 to 166: networking.http_3_* r=necko-reviewers,kershaw"
    },
    "D320087": {
      "author": "Valentin Gosu",
      "avatar": "https://www.gravatar.com/avatar/dedff9d4500fcbc5cdd1cd270f044b33?d=identicon\u0026s=64",
      "cl": "D320087",
      "clUrl": "https://phabricator.services.mozilla.com/D320087",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D320087",
      "email": "valentin.gosu@gmail.com",
      "hash": "9aef3406fc5f7ceb7c1b712a4a2c1307df831b64",
      "subject": "Bug 2064981 - Extend metrics expiring at the end of Firefox 156 to 166: networking.http_3_* r=necko-reviewers,kershaw"
    },
    "D320100": {
      "author": "Andrea Marchesini",
      "avatar": "https://www.gravatar.com/avatar/dfb8d0427dd67216b2664131a5c31421?d=identicon\u0026s=64",
      "cl": "D320100",
      "clUrl": "https://phabricator.services.mozilla.com/D320100",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D320100",
      "email": "amarchesini@mozilla.com",
      "hash": "6d91d54671b61f8bec724cd7060b272df1479a71",
      "subject": "Bug 2064977 - Extend glean metrics networking.cookie_db_validation to 167 r=necko-reviewers,valentin"
    },
    "D320106": {
      "author": "Ryan VanderMeulen",
      "avatar": "https://www.gravatar.com/avatar/51823ded02903fa76c961fe2a3c1318a?d=identicon\u0026s=64",
      "cl": "D320106",
      "clUrl": "https://phabricator.services.mozilla.com/D320106",
      "description": "The patch tuned INIT_BLOCK_SIZE so that poolGrow() allocations landed exactly on a\nmozjemalloc size class. Expat 2.7.2's CVE-2025-59375 fix routes every allocation through\nexpat_malloc(), which prepends an 8-byte header, so the request no longer lands where the\ntuning intended. It is moot regardless: expat is compiled into the wasm sandbox in all\nshipping configurations and uses dlmalloc there, which has no jemalloc-style size classes.\n\nThe remaining patches are renumbered to close the gap. Their contents are untouched, so they\napply at an offset until the hunk headers get regenerated as part of the next upstream\nupdate.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D320106",
      "email": "rvandermeulen@mozilla.com",
      "hash": "3b61c51737436ecb2d5450c3d92d3cdd3307cecf",
      "subject": "Bug 2064164 - Remove obsolete Expat 01_noslop.patch. r=mccr8"
    },
    "D320112": {
      "author": "Andrea Marchesini",
      "avatar": "https://www.gravatar.com/avatar/dfb8d0427dd67216b2664131a5c31421?d=identicon\u0026s=64",
      "cl": "D320112",
      "clUrl": "https://phabricator.services.mozilla.com/D320112",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D320112",
      "email": "amarchesini@mozilla.com",
      "hash": "cb2eb836e446fb5f7aafaa4013ec27874ce1a25e",
      "subject": "Bug 2064973 - Remove network.cookies.open_error glean counter r=cookie-reviewers,valentin"
    },
    "D320117": {
      "author": "Valentin Gosu",
      "avatar": "https://www.gravatar.com/avatar/dedff9d4500fcbc5cdd1cd270f044b33?d=identicon\u0026s=64",
      "cl": "D320117",
      "clUrl": "https://phabricator.services.mozilla.com/D320117",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D320117",
      "email": "valentin.gosu@gmail.com",
      "hash": "0754b4a27e563e4b4d1ab0396514519e5b57f998",
      "subject": "Bug 2064971 - Extend http3.stale_dcb_dcz_cache_entries_purged to 168 r=necko-reviewers,kershaw"
    },
    "D320132": {
      "author": "Moritz Beier",
      "avatar": "https://www.gravatar.com/avatar/db9378640c16b8cdcfcebed97713987a?d=identicon\u0026s=64",
      "cl": "D320132",
      "clUrl": "https://phabricator.services.mozilla.com/D320132",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D320132",
      "email": "mbeier@mozilla.com",
      "hash": "00f402762fb180381129cc3c2b386ab22023d484",
      "subject": "Bug 2065161 - UrlbarShared object has type any again. r=urlbar-reviewers,dao"
    },
    "D320136": {
      "author": "Alexandra Borovova",
      "avatar": "https://www.gravatar.com/avatar/b5f1ef97b56e8d368128ed4a4206a6ff?d=identicon\u0026s=64",
      "cl": "D320136",
      "clUrl": "https://phabricator.services.mozilla.com/D320136",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D320136",
      "email": "aborovova@mozilla.com",
      "hash": "ba22b44bd88f3d8ee06b300f28e61516111b9747",
      "subject": "Bug 2065153 - Update metadata for html/semantics/interactive-elements/the-summary-element/interactive-content.html."
    },
    "D320150": {
      "author": "longsonr",
      "avatar": "https://www.gravatar.com/avatar/c5d912dac5c74b47bbaff7164f5f8bb8?d=identicon\u0026s=64",
      "cl": "D320150",
      "clUrl": "https://phabricator.services.mozilla.com/D320150",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D320150",
      "email": "longsonr@gmail.com",
      "hash": "3654366e0262433c17fe680157892e1e29321629",
      "subject": "Bug 2064745 - Set layout.css.typed-om.enabled for svg-element-attributeStyleMap.html tests r=emilio"
    },
    "D320209": {
      "author": "Ben Chatterton",
      "avatar": "https://www.gravatar.com/avatar/1fa76e5f43bc4b160ea9647b0db262b8?d=identicon\u0026s=64",
      "cl": "D320209",
      "clUrl": "https://phabricator.services.mozilla.com/D320209",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D320209",
      "email": "bchatterton@mozilla.com",
      "hash": "ebcfd719ba5607af8f5ceefad167cbcf95b540a5",
      "subject": "Bug 2065221: Switch dte-tests to run-on-repo-type hg, r=bhearsum DONTBUILD"
    },
    "b2d46f7e9efc": {
      "author": "rperta",
      "avatar": "https://www.gravatar.com/avatar/95787d55656c719bd5b0c6754f5449a3?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "This reverts commit f957f67a08a7872d2eb64e69e15d06d7a9c773cc.",
      "email": "rperta@mozilla.com",
      "hash": "b2d46f7e9efc5d18d0109fcd0183d8cd754919c7",
      "subject": "Revert \"Bug 2063947. Reapply libFuzzer's local patches to the vendored sources. r=truber\" for causing build bustages"
    },
    "b519d650f57b": {
      "author": "rperta",
      "avatar": "https://www.gravatar.com/avatar/95787d55656c719bd5b0c6754f5449a3?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "This reverts commit 324adfbd3024ea6c35c60e444a6c67b10a8c29d1.\n\nRevert \"Bug 2056051: Don't cancel the ImageDecoder read request from cycle-collection unlink r=dom-core-reviewers,media-playback-reviewers,smaug,aosmond\"\n\nThis reverts commit e8ff0efe95edd43df51f9e0cb8b5d9f54f879cf7.",
      "email": "rperta@mozilla.com",
      "hash": "b519d650f57bc8d4507723f31f660a04d72dfdf6",
      "subject": "Revert \"Bug 2063064, Bug 2056051: Restructure ImageDecoderReadRequest teardown to remove its CAN_RUN_SCRIPT_BOUNDARY r=media-playback-reviewers,aosmond\" for causing build bustages on ImageDecoderBinding.cpp"
    },
    "ba953ed814e9": {
      "author": "rperta",
      "avatar": "https://www.gravatar.com/avatar/95787d55656c719bd5b0c6754f5449a3?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "This reverts commit 44ef3d6243bf20adc2254edb6317953efb0a5579.",
      "email": "rperta@mozilla.com",
      "hash": "ba953ed814e9fde78a41183d4e5d211c9bec0ac3",
      "subject": "Revert \"Bug 2058328: Flush layout before timeline.source check in unattached-subject-inset.html. r=layout-scroll-driven-animation-reviewers,boris\" for causing unexpected pass wpt failures"
    },
    "c1e376bfc07a": {
      "author": "rperta",
      "avatar": "https://www.gravatar.com/avatar/95787d55656c719bd5b0c6754f5449a3?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "This reverts commit 9752743055a8a98ef1bcab3c68302d0651bd6e05.\n\nRevert \"Bug 2062852 part 3: Enable ATK to be reinitialised after it is shut down. r=eeejay\"\n\nThis reverts commit c8ef71edc46b7f2b144cb2a566aa2472b80b4151.\n\nRevert \"Bug 2062852 part 2: Remove the Windows specific accessibility force enable priming hack. r=eeejay\"\n\nThis reverts commit 3595a736aa06fb2915a4eb6e4c53f31f0327aadf.\n\nRevert \"Bug 2062852 part 1: Centrally handle accessibility.force_disabled=-1 (force enable) for all platforms. r=eeejay\"\n\nThis reverts commit 2e9006c7240bfbc413a1ee5bd717f8aec350f8c1.",
      "email": "rperta@mozilla.com",
      "hash": "c1e376bfc07a58900d1dd34008718d6e5efd2237",
      "subject": "Revert \"Bug 2062852 part 4: Start accessibility when accessibility.force_disabled changes to -1 at runtime. r=eeejay,geckoview-reviewers,m_kato\" for causing ThreadSanitizer failures"
    },
    "c83a0f2a5385": {
      "author": "Cosmin Sabou",
      "avatar": "https://www.gravatar.com/avatar/392cb3f0cf45743e207bd4bcde85f272?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "This reverts commit be00d859faae3d05f100f32f94e2c87f8724770c.",
      "email": "csabou@mozilla.com",
      "hash": "c83a0f2a5385df816b193d29acd52087a1919e4d",
      "subject": "Revert \"No Bug - Import translations from https://github.com/mozilla-l10n/android-l10n CLOSED TREE\" for causing browser_styleeditor_pretty.js failures."
    },
    "cb0a5ff77b7b": {
      "author": "Norisz Fay",
      "avatar": "https://www.gravatar.com/avatar/e060837184d7bb06925d038b8c16a828?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "This reverts commit 4db7f49e8c32b97dd9b2cb920bccbdbcdf805df8.\n\nRevert \"Bug 2062573 - Execute the create task form on Enter key in Smart Window r=urlbar-reviewers,ngrato,daisuke\"\n\nThis reverts commit 300c371b029b0c67283ad42b32bf26d7e07e6833.\n\nRevert \"Bug 2060620 - Add localized strings, add keyboard navigation tests and clean up Smart Window command palette r=ngrato,fluent-reviewers,urlbar-reviewers,daisuke,bolsson\"\n\nThis reverts commit 56a0df9cc6fc1e052b0cec1f409fa314ae8dafdd.",
      "email": "nfay@mozilla.com",
      "hash": "cb0a5ff77b7b075623fd9a980028687c0dcec34c",
      "subject": "Revert \"Bug 2062597, Bug 2062573, Bug 2060620 - Enable to create the Create task in Smart Window full chat mode r=urlbar-reviewers,ngrato,daisuke\" for causing bc failures"
    },
    "e26cbf34e72f": {
      "author": "rperta",
      "avatar": "https://www.gravatar.com/avatar/95787d55656c719bd5b0c6754f5449a3?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "This reverts commit 252e2c3d83f51e51fb1b890be70629546e802d05.",
      "email": "rperta@mozilla.com",
      "hash": "e26cbf34e72f6feb8824a8e5a371c4a06218607b",
      "subject": "Revert \"Bug 2047032: Handle no time being set when switching into document timeline from scroll timeline. r=layout-scroll-driven-animation-reviewers,boris\" for causing wpt failures at StickyTimeDuration.h"
    },
    "e7e0d330b8db": {
      "author": "Cosmin Sabou",
      "avatar": "https://www.gravatar.com/avatar/392cb3f0cf45743e207bd4bcde85f272?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "This reverts commit 10c67792b86484b601301d8b24c7a6a34d49a85a.\n\nRevert \"Bug 1861496 - Update Lit to lit@3.3.3 r=tgiles,Standard8\"\n\nThis reverts commit 629f848e6f1f9f9676a3a940cb22b9a342cb34b5.\n\nRevert \"Bug 1861496 - Update Lit patches to lit@3.3.3 r=tgiles\"\n\nThis reverts commit b4209c503f37af8a951767ee7a979889ebbf5f07.",
      "email": "csabou@mozilla.com",
      "hash": "e7e0d330b8db58075ec8439e5873256d46667385",
      "subject": "Revert \"Bug 1861496 - Fixes for Lit upgrade r=tabbrowser-reviewers,tgiles,nsharpley\" for causing linting failures."
    },
    "e9f2aa0c66ca": {
      "author": "rperta",
      "avatar": "https://www.gravatar.com/avatar/95787d55656c719bd5b0c6754f5449a3?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "This reverts commit cf28185781130669dc30cd11277e32d58a23cd38.\n\nRevert \"Bug 2063169 - Add WR_FEATURE_SUPERELLIPSE variant to ps_quad_mask. r=gfx-reviewers,nical\"\n\nThis reverts commit 310a65b0bb4ffcbd6fe638e96eb867b071bee755.",
      "email": "rperta@mozilla.com",
      "hash": "e9f2aa0c66ca7fa57b5a794190cfe4781ceea000",
      "subject": "Revert \"Bug 2063169 - Add WR_FEATURE_SUPERELLIPSE variant to ps_quad_box_shadow. r=gfx-reviewers,nical\" for causing dt failures at browser/browser_window_sizing.js"
    }
  },
  "date": "2026-08-20",
  "days": 1,
  "generatedAt": "2026-08-20T22:11:35Z",
  "markdown": "## Highlights\n- **Web Platform** Nightly briefly enabled scoped custom element registries, a notable platform experiment, before getting backed out over WPT fallout. [Phab D319462](https://phabricator.services.mozilla.com/D319462)\n- **Security** postMessage source validation now checks innerWindowId, tightening cross-window message origin checks. [Phab D319247](https://phabricator.services.mozilla.com/D319247)\n- **Security** Firefox copies wasm component bytecode out of shared memory before compilation, reducing risk around mutable shared backing. [Phab D319586](https://phabricator.services.mozilla.com/D319586)\n- **A11y** Accessibility force-enable handling was centralized across platforms, with ATK reinit work to support runtime recovery. [Phab D318646](https://phabricator.services.mozilla.com/D318646)\n- **UI** The new tab page address bar got a substantial content-safe rewrite, including top-layer results, content-document styling, and sizing cleanup. [Phab D319708](https://phabricator.services.mozilla.com/D319708)\n- **Rendering** WebRender started landing superellipse shader variants for masks and box shadows, though part of the work was unstable enough to get reverted the same day. [Phab D319577](https://phabricator.services.mozilla.com/D319577)\n- **Media** Linux ffvpx gained Vulkan support, opening a path to broader GPU video decode coverage on that stack, though the initial landing was reverted for bustage. [Phab D318090](https://phabricator.services.mozilla.com/D318090)\n- **Mobile** Android's PDF viewer picked up native print and share actions, making in-app PDF handling much less dead-end. [Phab D319739](https://phabricator.services.mozilla.com/D319739)\n- **Perf** SpiderMonkey fixed an O(N^2) path in BytecodeAnalysis Try handling and improved loop unrolling alias analysis, shaving work in the optimizer. [Phab D318528](https://phabricator.services.mozilla.com/D318528)\n\n## What landed by area\n\n### Desktop UI and Firefox front-end\n- **UI** New tab results now open in the top layer, reducing embedding weirdness in content documents. [Phab D319710](https://phabricator.services.mozilla.com/D319710)\n- **UI** The new tab address bar now loads its stylesheets in a content document. [Phab D319708](https://phabricator.services.mozilla.com/D319708)\n- **UI** The new tab results view now uses content-safe layout and popup paths. [Phab D319709](https://phabricator.services.mozilla.com/D319709)\n- **UI** The new tab address bar is sized to the search slot for tighter visual alignment. [Phab D319717](https://phabricator.services.mozilla.com/D319717)\n- **UI** The input box now stretches with CSS instead of XUL flex. [Phab D319713](https://phabricator.services.mozilla.com/D319713)\n- **UI** Address bar button inline insets now match block insets. [Phab D319714](https://phabricator.services.mozilla.com/D319714)\n- **UI** The switcher panel-list got proper dressing where no panel supplied one. [Phab D319715](https://phabricator.services.mozilla.com/D319715)\n- **Refactor** Switcher \"open where\" decisions now go through the actor layer. [Phab D319857](https://phabricator.services.mozilla.com/D319857)\n- **Refactor** Switcher observer notifications and extension session cancelation now only run where those objects actually exist. [Phab D319759](https://phabricator.services.mozilla.com/D319759)\n- **Refactor** Switcher code now reaches chrome-only APIs only in chrome contexts. [Phab D319716](https://phabricator.services.mozilla.com/D319716)\n- **UI** The account section double-line in the app menu was fixed. [Phab D319480](https://phabricator.services.mozilla.com/D319480)\n- **UI** The Sign Out button was restored below sync status in the app menu. [Phab D319622](https://phabricator.services.mozilla.com/D319622)\n- **UI** Custom icons were refreshed with tighter margins and the older 2004 variant. [Phab D319943](https://phabricator.services.mozilla.com/D319943)\n- **UI** Overflow option icon colors now track sidebar icon colors for themes using panel icon fill. [Phab D317211](https://phabricator.services.mozilla.com/D317211)\n- **UI** Theme preview SVGs got preserveAspectRatio and viewBox fixes to stop scroll jiggle. [Phab D316767](https://phabricator.services.mozilla.com/D316767)\n- **UI** Chrome text context menu items now have stable ids. [Phab D319493](https://phabricator.services.mozilla.com/D319493)\n- **UI** Firefox branding strings were normalized to \"Firefox\" across channels. [Phab D319951](https://phabricator.services.mozilla.com/D319951)\n- **Refactor** SessionStore switched to moz-src. [Phab D317956](https://phabricator.services.mozilla.com/D317956)\n- **Refactor** The SessionStore shell object was folded into SessionStoreInternal. [Phab D318434](https://phabricator.services.mozilla.com/D318434)\n- **UI** Browser subdialog tests were brought back under the Nova pref. [Phab D319230](https://phabricator.services.mozilla.com/D319230)\n- **DevTools** A new smoke test now covers Google Lens UI flow. [Phab D319418](https://phabricator.services.mozilla.com/D319418)\n- **DevTools** A new smoke test now covers bookmark import flow. [Phab D319753](https://phabricator.services.mozilla.com/D319753)\n- **Refactor** gBrowser JSDoc was expanded enough to generate an API reference. [Phab D319246](https://phabricator.services.mozilla.com/D319246)\n- **Refactor** tabbrowser typedef property docs were filled in. [Phab D319245](https://phabricator.services.mozilla.com/D319245)\n- **Refactor** tabbrowser documented parameter names were reconciled with actual signatures. [Phab D319244](https://phabricator.services.mozilla.com/D319244)\n- **Refactor** Undocumented tabbrowser parameters were documented. [Phab D319243](https://phabricator.services.mozilla.com/D319243)\n- **UI** The dnsNotFound search CTA is now suppressed inside subframes. [Phab D319877](https://phabricator.services.mozilla.com/D319877)\n- **UI** Linux got a mail button integration. [Phab D319225](https://phabricator.services.mozilla.com/D319225)\n\n### Web Platform, DOM, layout, and CSS\n- **Web Platform** postMessage source validation now uses innerWindowId. [Phab D319247](https://phabricator.services.mozilla.com/D319247)\n- **Web Platform** viewTransitions no longer has a separate dom.viewTransitions.enabled pref. [Phab D320047](https://phabricator.services.mozilla.com/D320047)\n- **Web Platform** The old :-moz-placeholder pseudo-class was unshipped. [Phab D320042](https://phabricator.services.mozilla.com/D320042)\n- **Web Platform** Range.deleteContents, cloneContents, extractContents, and Selection.deleteFromDocument were aligned with DOM behavior. [Phab D311661](https://phabricator.services.mozilla.com/D311661)\n- **Web Platform** nsRange::CutContents now works with FlatForSelection during print selection suppression. [Phab D319445](https://phabricator.services.mozilla.com/D319445)\n- **Web Platform** nsGenericHTMLElement::GetAssociatedEditor now returns an extant editor. [Phab D320015](https://phabricator.services.mozilla.com/D320015)\n- **Rendering** line-clamp style adjustment now skips non-block and non-inline displays. [Phab D319194](https://phabricator.services.mozilla.com/D319194)\n- **Rendering** text-box-trim for inline boxes now excludes border and padding. [Phab D319661](https://phabricator.services.mozilla.com/D319661)\n- **Rendering** Scroll containers now keep overflow state across frame reconstruction so underflow fires correctly. [Phab D319724](https://phabricator.services.mozilla.com/D319724)\n- **Rendering** Hover state now updates on pointer events as well as mouse events. [Phab D318502](https://phabricator.services.mozilla.com/D318502)\n- **Rendering** Attr tainting now survives conversion from computed values back to declared values. [Phab D319276](https://phabricator.services.mozilla.com/D319276)\n- **Rendering** URL secondary-color text paint got a higher opacity for readability. [Phab D319654](https://phabricator.services.mozilla.com/D319654)\n- **Web Platform** typed OM was enabled for svg-element-attributeStyleMap.html tests. [Phab D320150](https://phabricator.services.mozilla.com/D320150)\n- **Web Platform** scroll-driven animations pref coverage was enabled for css viewport zoom animation-range tests. [Phab D320018](https://phabricator.services.mozilla.com/D320018)\n- **Web Platform** Timeline source checks in unattached subject inset tests now flush layout first. [Phab D319921](https://phabricator.services.mozilla.com/D319921)\n- **Web Platform** Switching from scroll timelines back to document timelines now handles missing time. [Phab D319811](https://phabricator.services.mozilla.com/D319811)\n- **Refactor** CHROME_WINDOW_CLOSE was removed. [Phab D319813](https://phabricator.services.mozilla.com/D319813)\n- **A11y** Collapsed ranges are now registered before old ones are cleared. [Phab D317252](https://phabricator.services.mozilla.com/D317252)\n- **A11y** Focus moves now collapse directly to the focused node's start. [Phab D315876](https://phabricator.services.mozilla.com/D315876)\n- **UI** moz-label accesskeys now reformat correctly when label text changes while not observing. [Phab D319248](https://phabricator.services.mozilla.com/D319248)\n- **Web Platform** CloseWatcher IDL exposure expectations were cleaned up. [Phab D320050](https://phabricator.services.mozilla.com/D320050)\n- **Web Platform** CommandEvent IDL exposure expectations were cleaned up. [Phab D320051](https://phabricator.services.mozilla.com/D320051)\n- **Web Platform** Summary element interactive-content metadata was updated. [Phab D320136](https://phabricator.services.mozilla.com/D320136)\n- **Web Platform** Dynamic import microtasks metadata was updated. [Phab D320053](https://phabricator.services.mozilla.com/D320053)\n- **Web Platform** User activation cross-origin redirect metadata was updated. [Phab D320052](https://phabricator.services.mozilla.com/D320052)\n- **Web Platform** Local network access service worker metadata was updated. [Phab D320022](https://phabricator.services.mozilla.com/D320022)\n\n### SpiderMonkey, JS engine, and wasm\n- **Perf** Loop unrolling now reruns alias analysis when memory dependencies matter. [Phab D319428](https://phabricator.services.mozilla.com/D319428)\n- **Perf** New test coverage landed for unrolling with memory dependencies. [Phab D319429](https://phabricator.services.mozilla.com/D319429)\n- **Perf** BytecodeAnalysis Try handling dropped an O(N^2) path for a sorted two-pointer approach. [Phab D318528](https://phabricator.services.mozilla.com/D318528)\n- **Security** Wasm component bytecode is copied out of shared memory before compile. [Phab D319586](https://phabricator.services.mozilla.com/D319586)\n- **Refactor** Direct slot-touching Get*ArrayLengthAndData APIs were removed. [Phab D319970](https://phabricator.services.mozilla.com/D319970)\n- **Refactor** A JS_DEFINE_UNTYPED_SLOT macro was added as groundwork for typed slot cleanup. [Phab D320062](https://phabricator.services.mozilla.com/D320062)\n- **Refactor** Promises now use typed slot access. [Phab D320063](https://phabricator.services.mozilla.com/D320063)\n- **Refactor** Array buffers now use typed slot access. [Phab D320064](https://phabricator.services.mozilla.com/D320064)\n- **Refactor** Async iteration now uses typed slots. [Phab D320065](https://phabricator.services.mozilla.com/D320065)\n- **Security** Concurrent marking got a GC zeal mode to make object-dictionary races easier to trigger in tests. [Phab D319424](https://phabricator.services.mozilla.com/D319424)\n- **Security** SpiderMonkey added a test for switching objects to dictionary mode under concurrent marking. [Phab D319425](https://phabricator.services.mozilla.com/D319425)\n- **Security** Dictionary slot counts now update before shape changes, fixing a concurrent marking race. [Phab D319426](https://phabricator.services.mozilla.com/D319426)\n- **Perf** arm64 JIT now zeros with wzr/xzr for xor-with-self. [Phab D319521](https://phabricator.services.mozilla.com/D319521)\n- **Perf** arm64 JIT now stores xzr for storePtr(nullptr). [Phab D319400](https://phabricator.services.mozilla.com/D319400)\n- **V8** Warp gained support work for async module scripts. [Phab D319002](https://phabricator.services.mozilla.com/D319002)\n- **V8** AbstractGeneratorObject gained a create overload for modules. [Phab D319001](https://phabricator.services.mozilla.com/D319001)\n- **V8** MIR and LIR boilerplate generation for MGenerator landed, then got backed out for assertions. [Phab D319003](https://phabricator.services.mozilla.com/D319003)\n- **Security** freezeBuiltins was enabled for chrome windows. [Phab D318390](https://phabricator.services.mozilla.com/D318390)\n- **Refactor** Import map tests for the freezeBuiltins work were moved to plain mochitests. [Phab D318389](https://phabricator.services.mozilla.com/D318389)\n- **Refactor** IOUtils tests no longer add Uint8Array.prototype.equals. [Phab D318388](https://phabricator.services.mozilla.com/D318388)\n\n### Graphics, rendering infrastructure, and media\n- **Rendering** WebRender gained a superellipse variant for quad masks. [Phab D319577](https://phabricator.services.mozilla.com/D319577)\n- **Rendering** WebRender gained a superellipse variant for quad box shadows. [Phab D319796](https://phabricator.services.mozilla.com/D319796)\n- **Rendering** Theme drawing now initializes corner shape values correctly. [Phab D317056](https://phabricator.services.mozilla.com/D317056)\n- **Rendering** Wrench now retains display list builders and font caches across YAML files. [Phab D318638](https://phabricator.services.mozilla.com/D318638)\n- **Rendering** Wrench now resolves stacking context raster space in the display list builder. [Phab D318637](https://phabricator.services.mozilla.com/D318637)\n- **Rendering** Gradient stops are now handed directly to push_* helpers instead of the display list. [Phab D318636](https://phabricator.services.mozilla.com/D318636)\n- **Rendering** Gradient primitive builders moved into webrender_api. [Phab D318635](https://phabricator.services.mozilla.com/D318635)\n- **Refactor** A write-only LinearGradient::edge_aa_mask field was removed. [Phab D318634](https://phabricator.services.mozilla.com/D318634)\n- **Media** Linux ffvpx gained Vulkan support. [Phab D318090](https://phabricator.services.mozilla.com/D318090)\n- **Media** Vulkan H.264 is now skipped on FFmpeg older than n7.1 for unsupported COINCIDE cases. [Phab D318905](https://phabricator.services.mozilla.com/D318905)\n- **Media** ImageDecoderReadRequest teardown was restructured to remove CAN_RUN_SCRIPT_BOUNDARY. [Phab D318222](https://phabricator.services.mozilla.com/D318222)\n- **Media** ImageDecoder read requests are no longer canceled from cycle-collection unlink. [Phab D318221](https://phabricator.services.mozilla.com/D318221)\n- **Media** YUVBufferGenerator now sizes source buffers correctly for odd dimensions. [Phab D317993](https://phabricator.services.mozilla.com/D317993)\n- **Media** A gtest now covers chroma plane sizing in YUVBufferGenerator. [Phab D317992](https://phabricator.services.mozilla.com/D317992)\n- **Media** AppleVT inputs are now copied before submission when mapped. [Phab D318170](https://phabricator.services.mozilla.com/D318170)\n- **Media** VideoFrame.copyTo got WPT coverage for opaque to alpha format conversion. [Phab D294066](https://phabricator.services.mozilla.com/D294066)\n- **Media** WebRTC video capture now has CreateOrNull and low-memory aligned allocation paths instead of crashing allocs. [Phab D318847](https://phabricator.services.mozilla.com/D318847)\n- **Media** Low-memory aligned allocation support was added for WebRTC paths. [Phab D318846](https://phabricator.services.mozilla.com/D318846)\n- **Media** jxl-rs was upgraded to 0.6.0. [Phab D319663](https://phabricator.services.mozilla.com/D319663)\n- **Media** The jxl_simd Mac x86_64 workaround was backed out ahead of the jxl-rs upgrade. [Phab D319662](https://phabricator.services.mozilla.com/D319662)\n- **Media** The jxl_simd workaround was then re-applied on top of jxl-rs 0.6.0. [Phab D319666](https://phabricator.services.mozilla.com/D319666)\n- **Media** JPEG XL call sites now pass None for the new parallel-runner parameter. [Phab D319667](https://phabricator.services.mozilla.com/D319667)\n- **Security** JPEG XL fuzzing was adjusted for the 0.6.0 upgrade. [Phab D319668](https://phabricator.services.mozilla.com/D319668)\n- **Media** webrtc-sdp was vendored to 0.3.14. [Phab D319911](https://phabricator.services.mozilla.com/D319911)\n- **Media** rsdparsa_capi was updated for webrtc-sdp 0.3.14. [Phab D319910](https://phabricator.services.mozilla.com/D319910)\n- **GPU** One graphics-side fix landed under [bug 2061532](https://bugzilla.mozilla.org/show_bug.cgi?id=2061532) with [Phab D318624](https://phabricator.services.mozilla.com/D318624).\n\n### Networking, privacy, storage, and permissions\n- **Networking** nsEffectiveTLDService is now available everywhere. [Phab D319557](https://phabricator.services.mozilla.com/D319557)\n- **Networking** DNS now records fromStaleCache at serve time. [Phab D319847](https://phabricator.services.mozilla.com/D319847)\n- **Networking** nsHostResolver now uses a plain Mutex for mDBLock. [Phab D319815](https://phabricator.services.mozilla.com/D319815)\n- **Privacy** Anti-tracking exceptions now apply correctly to new popups. [Phab D319463](https://phabricator.services.mozilla.com/D319463)\n- **Privacy** Browser-scoped permission clears are now handled in the SitePermissions observer. [Phab D319850](https://phabricator.services.mozilla.com/D319850)\n- **Privacy** Browser-scoped permission removals now propagate to every content process holding a copy. [Phab D319849](https://phabricator.services.mozilla.com/D319849)\n- **Privacy** Storage access is now derived from WindowGlobalParent. [Phab D319576](https://phabricator.services.mozilla.com/D319576)\n- **Networking** Downloaded file metadata now prefers the original URL when available. [Phab D175550](https://phabricator.services.mozilla.com/D175550)\n- **Networking** HTTP/3 stale DCB/DCZ cache purge telemetry was extended through Firefox 168. [Phab D320117](https://phabricator.services.mozilla.com/D320117)\n- **Networking** HTTP/3 metrics expiring in 156 were extended to 166. [Phab D320087](https://phabricator.services.mozilla.com/D320087)\n- **Networking** A second set of HTTP/3 metrics expiring in 156 was also extended to 166. [Phab D320086](https://phabricator.services.mozilla.com/D320086)\n- **Privacy** The network.cookies.open_error Glean counter was removed. [Phab D320112](https://phabricator.services.mozilla.com/D320112)\n- **Privacy** cookie DB validation Glean metrics were extended to 167. [Phab D320100](https://phabricator.services.mozilla.com/D320100)\n- **Privacy** Search engine block recording prefs were split into two. [Phab D317835](https://phabricator.services.mozilla.com/D317835)\n\n### Android, mobile, and AI features\n- **Mobile** Android now bypasses the load URI delegate when loading about:home. [Phab D317377](https://phabricator.services.mozilla.com/D317377)\n- **Mobile** Reader View now fixes article language detection and writes it into the page. [Phab D319873](https://phabricator.services.mozilla.com/D319873)\n- **Mobile** Android now avoids a crash when a content provider returns no file name. [Phab D319723](https://phabricator.services.mozilla.com/D319723)\n- **Mobile** saveAsPdf on Android now behaves differently when the current page is already a PDF. [Phab D319600](https://phabricator.services.mozilla.com/D319600)\n- **Mobile** The Android PDF viewer gained a print button. [Phab D319739](https://phabricator.services.mozilla.com/D319739)\n- **Mobile** The Android PDF viewer gained a share button. [Phab D319812](https://phabricator.services.mozilla.com/D319812)\n- **Mobile** Firefox for Android now has an \"off\" address bar state for VPN. [Phab D315582](https://phabricator.services.mozilla.com/D315582)\n- **Mobile** If all active normal tabs are selected for deletion, inactive tabs are now preserved. [Phab D319837](https://phabricator.services.mozilla.com/D319837)\n- **Mobile** Recommended location was refactored into an object. [Phab D316959](https://phabricator.services.mozilla.com/D316959)\n- **Mobile** mach android commands now expose nimbus-cli. [Phab D319573](https://phabricator.services.mozilla.com/D319573)\n- **Mobile** Gradle was updated to 9.7.1. [Phab D319909](https://phabricator.services.mozilla.com/D319909)\n- **Mobile** Android UI test suites for site permissions and autoplay were converted to ui/efficiency. [Phab D319901](https://phabricator.services.mozilla.com/D319901)\n- **Mobile** Additional permission-prompt smoke tests moved to ui/efficiency. [Phab D319902](https://phabricator.services.mozilla.com/D319902)\n- **Mobile** Site permission exception clearing tests moved to ui/efficiency. [Phab D319903](https://phabricator.services.mozilla.com/D319903)\n- **Mobile** System-blocked permission redirect tests moved to ui/efficiency. [Phab D319904](https://phabricator.services.mozilla.com/D319904)\n- **A11y** Android's privacy widget now has an explicit title for screen readers. [Phab D319659](https://phabricator.services.mozilla.com/D319659)\n- **Mobile** Trackers protection dashboard open telemetry is now recorded at the actual open point. [Phab D313488](https://phabricator.services.mozilla.com/D313488)\n- **AI** Smart Window agent defaults and Nimbus pattern wiring were added for Agent Watch. [Phab D319880](https://phabricator.services.mozilla.com/D319880)\n- **AI** Smart Window \"search the web fast\" now defaults to true. [Phab D319871](https://phabricator.services.mozilla.com/D319871)\n- **AI** Smart Window full chat mode can now create tasks. [Phab D318181](https://phabricator.services.mozilla.com/D318181)\n- **AI** Smart Window create-task forms now submit on Enter. [Phab D318178](https://phabricator.services.mozilla.com/D318178)\n- **AI** Smart Window command palette got localized strings, keyboard navigation tests, and cleanup. [Phab D317862](https://phabricator.services.mozilla.com/D317862)\n- **AI** A Monitor toolbar button landed for the Smart Window work. [Phab D318174](https://phabricator.services.mozilla.com/D318174)\n- **AI** AITab landed its SQLite base class and DB setup scaffold. [Phab D318207](https://phabricator.services.mozilla.com/D318207)\n- **Perf** ONNX backend selection now probes native availability before building the best-onnx pipeline. [Phab D319299](https://phabricator.services.mozilla.com/D319299)\n- **Perf** ML perftests were moved to Ubuntu 24.04 and now run ONNX coverage on both native and wasm backends. [Phab D318509](https://phabricator.services.mozilla.com/D318509)\n- **Perf** ONNX perftests now exercise both native and wasm backends. [Phab D318508](https://phabricator.services.mozilla.com/D318508)\n- **Perf** Stale ML perftests were dropped and metadata cleaned up. [Phab D318506](https://phabricator.services.mozilla.com/D318506)\n- **Perf** ML perf jobs that do not alert on autoland pushes no longer run there. [Phab D319158](https://phabricator.services.mozilla.com/D319158)\n- **Perf** Smart tab clustering perf assertions were loosened. [Phab D319762](https://phabricator.services.mozilla.com/D319762)\n\n### DevTools, remote protocol, testing, and automation\n- **DevTools** ADB-starting about:debugging tests were disabled on macOS 15.0.0. [Phab D320029](https://phabricator.services.mozilla.com/D320029)\n- **DevTools** moz log support was added for DevTools ADB helpers. [Phab D320028](https://phabricator.services.mozilla.com/D320028)\n- **DevTools** Marionette and RemoteAgent now use a custom exit code when server startup fails. [Phab D306987](https://phabricator.services.mozilla.com/D306987)\n- **DevTools** Marionette now returns qualified names for WebDriver:GetElementTagName. [Phab D319422](https://phabricator.services.mozilla.com/D319422)\n- **Perf** Per-test Chrome arguments were added to Raptor. [Phab D318591](https://phabricator.services.mozilla.com/D318591)\n- **Perf** Camera VideoEncoder tests were enabled on Chrome and custom-car. [Phab D304620](https://phabricator.services.mozilla.com/D304620)\n- **Perf** Media seek benchmarking now runs its test on Chrome and measures cold seek only on Firefox. [Phab D318779](https://phabricator.services.mozilla.com/D318779)\n- **Perf** The cold seek arm is now Firefox-only in media seek measurement. [Phab D318778](https://phabricator.services.mozilla.com/D318778)\n- **UI** mozscreenshots gained Nova and ColorScheme configurations. [Phab D310343](https://phabricator.services.mozilla.com/D310343)\n- **UI** mochitest-browser-screenshots gained a no-nova variant. [Phab D310344](https://phabricator.services.mozilla.com/D310344)\n- **UI** Linux mozscreenshots re-enabled font antialiasing. [Phab D310345](https://phabricator.services.mozilla.com/D310345)\n- **UI** Screenshot crop output in mozscreenshots is now lossless. [Phab D310342](https://phabricator.services.mozilla.com/D310342)\n- **Testing** Canvas reftest metadata was updated for the re-enabled reftest job. [Phab D319706](https://phabricator.services.mozilla.com/D319706)\n- **Testing** WPT reftests and crashtests under subsuite paths are no longer excluded. [Phab D315668](https://phabricator.services.mozilla.com/D315668)\n- **Testing** Desktop Test Engineering now runs on Nightly promote. [Phab D318783](https://phabricator.services.mozilla.com/D318783)\n\n### Build, CI, telemetry, and third-party updates\n- **Build** New clang 21 warnings were enabled. [Phab D319986](https://phabricator.services.mozilla.com/D319986)\n- **Build** Test tasks now use taskcluster-built Python. [Phab D312746](https://phabricator.services.mozilla.com/D312746)\n- **Build** Mochitest tasks now use taskcluster-built Python. [Phab D312747](https://phabricator.services.mozilla.com/D312747)\n- **Build** Reftest tasks now use taskcluster-built Python. [Phab D312748](https://phabricator.services.mozilla.com/D312748)\n- **Build** pycairo and pygobject wheels are now built for Python 3.9. [Phab D315549](https://phabricator.services.mozilla.com/D315549)\n- **Build** The gtest runner now sets PYTHON explicitly. [Phab D315548](https://phabricator.services.mozilla.com/D315548)\n- **Build** mozperftest repo clones were replaced with tarball downloads. [Phab D316885](https://phabricator.services.mozilla.com/D316885)\n- **Perf** Emulated startup tests now run on autoland instead of central. [Phab D315440](https://phabricator.services.mozilla.com/D315440)\n- **Build** CI build log suppression was tied to the build verbose flag. [Phab D318663](https://phabricator.services.mozilla.com/D318663)\n- **Build** build system telemetry now records to the right machrc when an env var is set. [Phab D318788](https://phabricator.services.mozilla.com/D318788)\n- **Build** MOZ_LD64_KNOWN_GOOD imply_option handling was fixed. [Phab D319671](https://phabricator.services.mozilla.com/D319671)\n- **Build** X11's Success macro is now renamed to X11Success to avoid collisions. [Phab D319993](https://phabricator.services.mozilla.com/D319993)\n- **Build** An obsolete Expat patch was removed. [Phab D320106](https://phabricator.services.mozilla.com/D320106)\n- **Build** libFuzzer local patches were re-applied to vendored sources. [Phab D318987](https://phabricator.services.mozilla.com/D318987)\n- **Build** Android app-services version bump plumbing was updated for nightly. [Phab D320003](https://phabricator.services.mozilla.com/D320003)\n- **Refactor** application-services removed BridgedEngine. [Phab D312903](https://phabricator.services.mozilla.com/D312903)\n- **Build** application-services was vendored to revision 7c34b8930543e7c34b89. [Phab D319670](https://phabricator.services.mozilla.com/D319670)\n- **Build** PDF.js was updated to e051279385c5cf141935037b340e757081052990. [Phab D319763](https://phabricator.services.mozilla.com/D319763)\n- **Build** googletest was updated to fa005b296f90faec4f352d7ab382287bf6548c8d. [Phab D313126](https://phabricator.services.mozilla.com/D313126)\n- **Build** Mozilla patches for the googletest update were applied. [Phab D313127](https://phabricator.services.mozilla.com/D313127)\n- **Build** ktfmt IDEA configuration was checked into tree. [Phab D319183](https://phabricator.services.mozilla.com/D319183)\n- **Build** dte-tests now run on repo type hg. [Phab D320209](https://phabricator.services.mozilla.com/D320209)\n- **Telemetry** Legacy telemetry environment no longer reports activeAddons, theme, or activeGMPlugins. [Phab D317633](https://phabricator.services.mozilla.com/D317633)\n- **Testing** Telemetry and addons tests were prepared for that legacy environment removal. [Phab D317632](https://phabricator.services.mozilla.com/D317632)\n- **Telemetry** Old fullscreen telemetry probes were removed. [Phab D319075](https://phabricator.services.mozilla.com/D319075)\n- **Telemetry** Collapse and expand shortcut buttons now emit telemetry on Android. [Phab D318853](https://phabricator.services.mozilla.com/D318853)\n- **Telemetry** Trustpanel breach alert shield animation now emits telemetry. [Phab D319592](https://phabricator.services.mozilla.com/D319592)\n- **Telemetry** newtab-stocks-watchlist-full gained a plural selector. [Phab D319933](https://phabricator.services.mozilla.com/D319933)\n- **Build** Firefox's BHR pipeline now reads from the redacted hang_report view. [Phab D318193](https://phabricator.services.mozilla.com/D318193)\n- **Perf** BHR aggregation now groups near-duplicate hang signatures. [Phab D315107](https://phabricator.services.mozilla.com/D315107)\n- **Perf** BHR artifacts now record inline depth per stack node. [Phab D315444](https://phabricator.services.mozilla.com/D315444)\n- **Perf** BHR leafGroups members are now keyed by funcTable index. [Phab D315395](https://phabricator.services.mozilla.com/D315395)\n- **Perf** BHR timeseries state is now gzipped. [Phab D315323](https://phabricator.services.mozilla.com/D315323)\n- **Perf** BHR timeseries roll-up now runs in a daily TaskCluster job. [Phab D315330](https://phabricator.services.mozilla.com/D315330)\n- **Build** A mach bhr-timeseries command was added for local roll-up runs. [Phab D315306](https://phabricator.services.mozilla.com/D315306)\n- **Build** Bug management docs got missing reference targets. [Phab D320049](https://phabricator.services.mozilla.com/D320049)\n- **Build** Windows native notifications docs were added for notificationserver.dll. [Phab D153138](https://phabricator.services.mozilla.com/D153138)\n\n### Sync, accounts, notifications, and misc platform glue\n- **UI** Launch-on-login no longer uses a prompt suppression pref. [Phab D319208](https://phabricator.services.mozilla.com/D319208)\n- **UI** The two-stage launch-on-login infobar was removed. [Phab D319207](https://phabricator.services.mozilla.com/D319207)\n- **Networking** getFxAToken now runs before engine creation and RS records are cached. [Phab D318592](https://phabricator.services.mozilla.com/D318592)\n- **UI** Taskbar Tabs page actions now show on moz-extension pages and use the add-on's name. [Phab D315753](https://phabricator.services.mozilla.com/D315753)\n- **UI** ActivationWindowMessage gained full-bleed responsive image options. [Phab D317865](https://phabricator.services.mozilla.com/D317865)\n- **UI** Screen renderer components got propTypes. [Phab D313596](https://phabricator.services.mozilla.com/D313596)\n- **Build** An empty browser_testShareAuth.js test file was removed. [Phab D319831](https://phabricator.services.mozilla.com/D319831)\n- **A11y** Actor IDs are no longer truncated. [Phab D315425](https://phabricator.services.mozilla.com/D315425)\n- **Build** The launch-on-login unsupported implementation typo was fixed. [Phab D320033](https://phabricator.services.mozilla.com/D320033)\n- **Build** Browser id handling was made consistent. [Phab D318490](https://phabricator.services.mozilla.com/D318490)\n- **Build** One missing ASRouter bundle change was fixed. [Phab D319499](https://phabricator.services.mozilla.com/D319499)\n- **UI** Doorhanger wording for \"never save addresses\" was adjusted. [Phab D319467](https://phabricator.services.mozilla.com/D319467)\n- **Rendering** Font cmaps stop loading once shutdown begins. [Phab D320082](https://phabricator.services.mozilla.com/D320082)\n- **GPU** dmabuf release accounting on Linux now only records actual releases. [Phab D319415](https://phabricator.services.mozilla.com/D319415)\n- **Build** One metadata-only sync landed under [bug 2065038](https://bugzilla.mozilla.org/show_bug.cgi?id=2065038).\n\n## Reverts \u0026 Reapplies\n- **Rendering** Reverted the line-clamp display guard after failures in webkit-line-clamp-016.html. [bug 2063759](https://bugzilla.mozilla.org/show_bug.cgi?id=2063759)\n- **Web Platform** Reverted the document timeline switch fix after WPT failures in StickyTimeDuration.h. [bug 2047032](https://bugzilla.mozilla.org/show_bug.cgi?id=2047032)\n- **Web Platform** Reverted scoped custom element registries on Nightly after sanitizer custom elements WPT fallout. [bug 2064333](https://bugzilla.mozilla.org/show_bug.cgi?id=2064333)\n- **Rendering** Reverted the superellipse box-shadow variant twice after browser window sizing test failures. [bug 2063169](https://bugzilla.mozilla.org/show_bug.cgi?id=2063169)\n- **Web Platform** Reverted the unattached-subject inset layout flush after unexpected pass WPT failures. [bug 2058328](https://bugzilla.mozilla.org/show_bug.cgi?id=2058328)\n- **Media** Reverted Linux ffvpx Vulkan support after build bustage. [bug 2045971](https://bugzilla.mozilla.org/show_bug.cgi?id=2045971)\n- **Rendering** Reverted removal of layout.css.moz-broken.content.enabled after reftest failures. [bug 1978211](https://bugzilla.mozilla.org/show_bug.cgi?id=1978211)\n- **V8** Reverted MIR and LIR boilerplate generation for MGenerator after WarpBuilder assertions. [bug 1996189](https://bugzilla.mozilla.org/show_bug.cgi?id=1996189)\n- **Build** Reverted libFuzzer vendored local patches after build bustage, then re-applied a fixed version later. [bug 2063947](https://bugzilla.mozilla.org/show_bug.cgi?id=2063947)\n- **A11y** Reverted runtime accessibility force-enable startup after ThreadSanitizer failures. [bug 2062852](https://bugzilla.mozilla.org/show_bug.cgi?id=2062852)\n- **Rendering** Reverted inline text-box-trim border and padding exclusion after WebRender failures. [bug 2064596](https://bugzilla.mozilla.org/show_bug.cgi?id=2064596)\n- **Build** Reverted application-services vendoring after lint failures. [bug 2056071](https://bugzilla.mozilla.org/show_bug.cgi?id=2056071)\n- **Media** Reverted ImageDecoder teardown restructuring after ImageDecoderBinding.cpp build bustage. [bug 2063064](https://bugzilla.mozilla.org/show_bug.cgi?id=2063064)\n- **AI** Reverted AITab SQLite base class and DB setup after browser_all_files_referenced failures. [bug 2061040](https://bugzilla.mozilla.org/show_bug.cgi?id=2061040)\n- **GPU** Reverted one graphics change after a CanvasManagerParent assertion failure. [bug 2060047](https://bugzilla.mozilla.org/show_bug.cgi?id=2060047)\n- **Telemetry** Reverted legacy telemetry environment addon-removal work after xpcshell exposure failures. [bug 2055613](https://bugzilla.mozilla.org/show_bug.cgi?id=2055613)\n- **Build** Reverted encoding_rs update before 0.8.40 after encoding-related WPT failures. [bug 2061103](https://bugzilla.mozilla.org/show_bug.cgi?id=2061103)\n- **UI** Reverted Lit upgrade fixes after lint failures. [bug 1861496](https://bugzilla.mozilla.org/show_bug.cgi?id=1861496)\n- **AI** Reverted Smart Window create-task enablement after browser-chrome failures. [bug 2062597](https://bugzilla.mozilla.org/show_bug.cgi?id=2062597)\n- **AI** Reverted the Monitor toolbar button after browser_aiwindow_switcher failures. [bug 2062113](https://bugzilla.mozilla.org/show_bug.cgi?id=2062113)",
  "repo": "firefox",
  "repoDisplay": "Firefox",
  "rollGroups": [
    {
      "name": "No",
      "count": 4
    }
  ],
  "since": "2026-08-20",
  "totals": {
    "commits": 268,
    "features": 258,
    "rolls": 4
  },
  "until": "2026-08-20"
}