{
  "commits": {
    "0271096efe3e": {
      "author": "Sandor Molnar",
      "avatar": "https://www.gravatar.com/avatar/0ae9a754e7e4f14ad7409c405ee3bf9e?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "This reverts commit 78dd39231cb1bf49233fa6ce6243fc6db65af0bc.",
      "email": "smolnar@mozilla.com",
      "hash": "0271096efe3ea9e8c9a5479f26774f1842ef0585",
      "subject": "Revert \"Bug 2007804 - Add `lid` to the global Copy Clean Link strip list r=emz\" for causing Bug 2068611."
    },
    "08cda3e03e8a": {
      "author": "Silaghi",
      "avatar": "https://www.gravatar.com/avatar/81acf29bb88b2a0ded61f47b93c59dea?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "This reverts commit 6a3341b7e2e953a6f0ae6c500a945f83533c30ae.\n\nRevert \"Bug 2060057 - Move ThreadSafeCodeBlockMap to WasmProcess.h. r=jseward\"\n\nThis reverts commit 6127d8a61457e85487b3645db9a25a72d1db54a7.",
      "email": "asilaghi@mozilla.com",
      "hash": "08cda3e03e8a7adf13d07652090ff3739dca12a4",
      "subject": "Revert \"Bug 2060057 - Update wasm::CodeExists inside the code block map's critical section. r=jseward\" for causing build bustages"
    },
    "31ff9ec4b3dd": {
      "author": "Sandor Molnar",
      "avatar": "https://www.gravatar.com/avatar/0ae9a754e7e4f14ad7409c405ee3bf9e?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "This reverts commit c5b375897eb7ac350b659e31cb656f7cd49297ca.",
      "email": "smolnar@mozilla.com",
      "hash": "31ff9ec4b3dd4d55bcab5dc8b7791f36ae5062b8",
      "subject": "Revert \"Bug 2043002: Implement the automatic, container size based line clamping for css line-clamp. r=layout-reviewers,dshin for causing wpt failures @ TEST-UNEXPECTED-FAIL | /css/css-overflow/line-clamp/line-clamp-balance-005.html"
    },
    "43df19707fd5": {
      "author": "Ryan VanderMeulen",
      "avatar": "https://www.gravatar.com/avatar/51823ded02903fa76c961fe2a3c1318a?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "",
      "email": "rvandermeulen@mozilla.com",
      "hash": "43df19707fd548311207cbdb27eadf9b2a17f236",
      "subject": "Bug 2005954 - Make the GC Log button in about:memory reveal the GC log rather than the CC log. r=RyanVM"
    },
    "4f42a1e99b52": {
      "author": "Lando",
      "avatar": "https://www.gravatar.com/avatar/e3fc5c639ea50123800e4b7471f88787?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "# ignore-this-changeset",
      "email": "lando@lando.moz.tools",
      "hash": "4f42a1e99b52fd558082f586e5b0ca4d5e475783",
      "subject": "Bug 2068433: apply code formatting via Lando"
    },
    "5886d3514b04": {
      "author": "Lando",
      "avatar": "https://www.gravatar.com/avatar/e3fc5c639ea50123800e4b7471f88787?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "# ignore-this-changeset",
      "email": "lando@lando.moz.tools",
      "hash": "5886d3514b04452a81e4ea4e83ab069118922891",
      "subject": "Bug 2049792: apply code formatting via Lando"
    },
    "62d98380b650": {
      "author": "Norisz Fay",
      "avatar": "https://www.gravatar.com/avatar/e060837184d7bb06925d038b8c16a828?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "This reverts commit f9525a8c3c64435a5430b6a3f1c6b72e076255c3.",
      "email": "nfay@mozilla.com",
      "hash": "62d98380b650366c5b0f2b389da95ddfb098249e",
      "subject": "Revert \"Bug 2063281 - Let content alert, confirm, and prompt dialogs use content's preferred color scheme. r=tabbrowser-reviewers,nsharpley\" for causing bc failure @ browser_ext_themes_pbm.js"
    },
    "77cd1f9c8074": {
      "author": "Sandor Molnar",
      "avatar": "https://www.gravatar.com/avatar/0ae9a754e7e4f14ad7409c405ee3bf9e?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "This reverts commit 1a3cb5deadd0a4c6e16140082b994a2841f35a9a.",
      "email": "smolnar@mozilla.com",
      "hash": "77cd1f9c8074a6c2a54152e39089d3f5629fd640",
      "subject": "Revert \"Bug 2042743 - Check the baseline frame height before creating a stackmap. r=yury\" for causing for causing jit failures @ tests/jit-test/jit-test/tests/wasm/regress/baseline-stack-height-during-stackmap.js"
    },
    "79b196eca26d": {
      "author": "Ryan VanderMeulen",
      "avatar": "https://www.gravatar.com/avatar/51823ded02903fa76c961fe2a3c1318a?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "The parent-process dump is synchronous, so the test used to read the log\npaths right after clicking. The new onFinish handler clears the section and\nawaits process info before rendering per-process entries, so the test now\nwaits for those entries and reads the paths from them.",
      "email": "rvandermeulen@mozilla.com",
      "hash": "79b196eca26d23eb1db97100440398fc7a0d78e5",
      "subject": "Bug 2005954 - Update test_aboutmemory6.xhtml for the asynchronous CC/GC log list rendering. r=bustage"
    },
    "7aae4c3cce20": {
      "author": "iulian moraru",
      "avatar": "https://www.gravatar.com/avatar/348b805af88f773829064778b66be468?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "This reverts commit 5886d3514b04452a81e4ea4e83ab069118922891.\n\nRevert \"Bug 2049792 - Don't allow content to set result or original URI on SH. r=dom-core-reviewers,smaug\"\n\nThis reverts commit 5510135fdcb38ed8f00180f60d7be5c36c4aca35.\n\nRevert \"Bug 2049792 - Sanity-check content-provided result and original URI. r=nika,dom-core-reviewers,smaug\"\n\nThis reverts commit 9b0a52c776fb98e9c5832156c54c08b6afadbf5d.",
      "email": "imoraru@mozilla.com",
      "hash": "7aae4c3cce206282ad68aab55ef8fc8644c00abe",
      "subject": "Revert \"Bug 2049792: apply code formatting via Lando\" for causing build bustages on nsDocShellLoadState.cpp."
    },
    "8c0204334376": {
      "author": "Sandor Molnar",
      "avatar": "https://www.gravatar.com/avatar/0ae9a754e7e4f14ad7409c405ee3bf9e?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "This reverts commit 86f69a8d83434f9ba66ad28cc978a572eb84074f.\n\nRevert \"Bug 1981648 - P2: Make ranges and spinners adjustable with scroll action. r=Jamie,geckoview-reviewers,m_kato\"\n\nThis reverts commit 867af286189a94dcc57f39c4565dfbcfaf56c465.\n\nRevert \"Bug 1981648 - P1: Add IsHTMLRange and fix IsHTMLSpinner. r=Jamie\"\n\nThis reverts commit 56ec023597ada2e738b9f5dd1a09fa546d6f12aa.",
      "email": "smolnar@mozilla.com",
      "hash": "8c0204334376b486920fa74442f1d2c98ee6d9db",
      "subject": "Revert \"Bug 1981648 - P3: Send value change events for numeric values. r=Jamie,geckoview-reviewers,m_kato\" for causing android gv-junit failures"
    },
    "974b8726f933": {
      "author": "Norisz Fay",
      "avatar": "https://www.gravatar.com/avatar/e060837184d7bb06925d038b8c16a828?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "This reverts commit b20bf0dd50fce8cdcee713389ba0fdf2aaa20875.",
      "email": "nfay@mozilla.com",
      "hash": "974b8726f933c98b5b1b5be647fe4a386ec3a6d1",
      "subject": "Revert \"Bug 2068385: Don't support sparse arrays in SpreadMathMinMax r=spidermonkey-reviewers,jandem\" for causing SM bustages"
    },
    "D273845": {
      "author": "Tiaan Louw",
      "avatar": "https://www.gravatar.com/avatar/8527be9edeb5f331c51aa9f0a8f04798?d=identicon\u0026s=64",
      "cl": "D273845",
      "clUrl": "https://phabricator.services.mozilla.com/D273845",
      "description": "Use the \"display: grid-lanes\" value to conform to current usage in web\nplatform tests.\n\nTwo tests are marked as CRASH, because the masonry code uses a sort\ncomparitor that is not valid strick weak ordering as required, so it\nasserts in debug builds. See bug 2068688.\n\nSee: https://drafts.csswg.org/css-grid-3/#masonry-model\n\nDifferential Revision: https://phabricator.services.mozilla.com/D273845",
      "email": "tlouw@mozilla.com",
      "hash": "58dc1aa78388605ef24113561be3ad706e4ea9f0",
      "subject": "Bug 1995348 - Implement the \"grid-lanes\" value for the \"display\" property r=layout-reviewers,firefox-style-system-reviewers,dholbert,emilio"
    },
    "D279334": {
      "author": "Frederik Braun",
      "avatar": "https://www.gravatar.com/avatar/1f41f3ef916e1c1fc9401cf3212a6708?d=identicon\u0026s=64",
      "cl": "D279334",
      "clUrl": "https://phabricator.services.mozilla.com/D279334",
      "description": "Remove overly restrictive MOZ_ASSERT(question \u003e 0) in SRIMetadata constructor\nthat caused crashes on malformed integrity values like \"?-=\". The subsequent\ncheck for question \u003c= hashStart already handles this case correctly by\nreturning early with an error.\n\nAlso add WPT tests for various malformed integrity edge cases to ensure\ncross-browser interoperability.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D279334",
      "email": "fbraun@mozilla.com",
      "hash": "d91ce23e019f9acb5dead435830ebcde1f690773",
      "subject": "Bug 1380146 - Fix assertion failure on malformed integrity attribute r=tschuster"
    },
    "D282529": {
      "author": "alexical",
      "avatar": "https://www.gravatar.com/avatar/02ef26c77617b9e0d864676d0938e8da?d=identicon\u0026s=64",
      "cl": "D282529",
      "clUrl": "https://phabricator.services.mozilla.com/D282529",
      "description": "This patch covers the frontend and backend of a CC/GC log analyzer tool.\nLet me know if you'd like me to split this patch into smaller pieces, but\nit's all interrelated enough that it felt right to put it into one. In either\ncase I would recommend pulling the patch and playing with the UI on some heavy\nCC/GC logs if you have time.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D282529",
      "email": "dothayer@mozilla.com",
      "hash": "908042a0d257307df600e7f5bffeea4fd1cfaa5d",
      "subject": "Bug 2005954 - Create Collector Log Analyzer UI in about:memory r=smaug,mccr8,desktop-theme-reviewers,frontend-codestyle-reviewers,mossop,emilio"
    },
    "D292612": {
      "author": "Alex Hochheiden",
      "avatar": "https://www.gravatar.com/avatar/d543df9ea6c80e41387222577084eec1?d=identicon\u0026s=64",
      "cl": "D292612",
      "clUrl": "https://phabricator.services.mozilla.com/D292612",
      "description": "The `libsForTests` JAR consumers need a complete set of native libraries for\nwhichever host platform their JVM tests run on, and the fat AAR handled Android\narchitectures only. It now also stages target.libmegazord_so_artifacts.zip from\nthe desktop builds.\n\nOnly a build with an in-tree app-services produces that archive, so the desktop\npaths are named explicitly rather than downloaded, and the Android fallback\ntakes its AAR from the app-services build when one is in tree.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D292612",
      "email": "ahochheiden@mozilla.com",
      "hash": "d436c321ed7bdb4a34b85a512326d3225c474d0f",
      "subject": "Bug 2035575 - Add desktop architecture support (Linux, macOS, Windows) to the fat AAR pipeline for `libsForTests` r=nalexander,firefox-build-system-reviewers,geckoview-reviewers"
    },
    "D296404": {
      "author": "Julien Cristau",
      "avatar": "https://www.gravatar.com/avatar/15b9b3783e4671cd882bff1316df14c9?d=identicon\u0026s=64",
      "cl": "D296404",
      "clUrl": "https://phabricator.services.mozilla.com/D296404",
      "description": "Update the backfill-task action to detect when the backfill target is a\nperf test, and when that is the case, set the task priority of any task\nit schedules (the perf test and its dependencies) to very-low, to avoid\ninterfering with more recent pushes.  Other backfills are left alone\nsince they're often blocking reopening the tree.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D296404",
      "email": "jcristau@mozilla.com",
      "hash": "5e45f18f9d52ffdd675e70ccc476253267270c70",
      "subject": "Bug 1677741 - set priority of backfilled perf tasks to very-low r=taskgraph-reviewers,releng-reviewers,ahal,jlorenzo"
    },
    "D304784": {
      "author": "Andreas Pehrson",
      "avatar": "https://www.gravatar.com/avatar/906f005aaa08b2d109a3fa9e1b83000d?d=identicon\u0026s=64",
      "cl": "D304784",
      "clUrl": "https://phabricator.services.mozilla.com/D304784",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D304784",
      "email": "apehrson@mozilla.com",
      "hash": "947e2c1c7e70b4f493a445d2177b2b0b93178b7f",
      "subject": "Bug 2044501 - Add RemoteMediaManagerChild::EnsureCodecSupportFor for async HW codec support queries. r=media-playback-reviewers,alwu"
    },
    "D304785": {
      "author": "Andreas Pehrson",
      "avatar": "https://www.gravatar.com/avatar/906f005aaa08b2d109a3fa9e1b83000d?d=identicon\u0026s=64",
      "cl": "D304785",
      "clUrl": "https://phabricator.services.mozilla.com/D304785",
      "description": "Add RemoteMediaManagerChild::EnsureCodecSupportFor-backed async support queries\n(PDMFactory::SupportsAsync / PDMFactorySupport::IsSupportedAsync) and use them\nfor the non-WebRTC MediaCapabilities decode paths, gated by the new\nmedia.mediacapabilities.codec-support-cache.enabled pref (default false). When\nthe pref is disabled the original behaviour is used: creating a decoder and\nquerying it for video, and a synchronous PDMFactorySupport query for audio.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D304785",
      "email": "apehrson@mozilla.com",
      "hash": "9529218ecca5a96cd796d6652b5ddbe8e9e508f3",
      "subject": "Bug 2044501 - Add cached async codec-support path for MediaCapabilities decode behind a pref. r=media-playback-reviewers,alwu"
    },
    "D309551": {
      "author": "Andreas Pehrson",
      "avatar": "https://www.gravatar.com/avatar/906f005aaa08b2d109a3fa9e1b83000d?d=identicon\u0026s=64",
      "cl": "D309551",
      "clUrl": "https://phabricator.services.mozilla.com/D309551",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D309551",
      "email": "apehrson@mozilla.com",
      "hash": "7409e33d0615f2d71592a569dfae8c9841d3216b",
      "subject": "Bug 2044501 - Add moz-WPT for new media-capabilities supports-cache pref. r=media-playback-reviewers,alwu"
    },
    "D309638": {
      "author": "Nicolò Ribaudo",
      "avatar": "https://www.gravatar.com/avatar/6e0c3dd82fff7391a5b338e872ca4d94?d=identicon\u0026s=64",
      "cl": "D309638",
      "clUrl": "https://phabricator.services.mozilla.com/D309638",
      "description": "Range.getBoundingClientRect() was wrong for a sub-range of an SVG \u003ctext\u003e element that\nis scaled up inside the SVG coordinate system.\n\nAfter converting the rect to user space, it needs to be scaled by the inverse of the\nfont scale factor. Note that the opposite inverse happens in the opposite operation\nTransformFramePointToTextChild, which already scales by the font scale factor.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D309638",
      "email": "nribaudo@igalia.com",
      "hash": "9cbf5d852830d817c2a37d94263c5c9fe8d6cef0",
      "subject": "Bug 2051654 - Account for the font scale factor when mapping SVG text rects to user space r=firefox-svg-reviewers,longsonr"
    },
    "D311631": {
      "author": "alexical",
      "avatar": "https://www.gravatar.com/avatar/02ef26c77617b9e0d864676d0938e8da?d=identicon\u0026s=64",
      "cl": "D311631",
      "clUrl": "https://phabricator.services.mozilla.com/D311631",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D311631",
      "email": "dothayer@mozilla.com",
      "hash": "fb30077f2d3b660a8238961a2caf4d337d905b90",
      "subject": "Bug 2005954 - Escape newlines in IDs in FragmentOrElement CC logging r=mccr8"
    },
    "D313578": {
      "author": "Mike Conley",
      "avatar": "https://www.gravatar.com/avatar/4b4985a7acf7db49dfddd7815b55a043?d=identicon\u0026s=64",
      "cl": "D313578",
      "clUrl": "https://phabricator.services.mozilla.com/D313578",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D313578",
      "email": "mconley@mozilla.com",
      "hash": "662fdb47c3b839b81774d40f404be896946addd3",
      "subject": "Bug 1844148 - Provide a mechanism for using center cropping on HTML labels in privileged documents and syntactic sugar to use it with moz-label. r=emilio,mstriemer,desktop-theme-reviewers,layout-reviewers"
    },
    "D316613": {
      "author": "Bob Owen",
      "avatar": "https://www.gravatar.com/avatar/8877ff082c9a902bbf383dc11c1aeffc?d=identicon\u0026s=64",
      "cl": "D316613",
      "clUrl": "https://phabricator.services.mozilla.com/D316613",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D316613",
      "email": "bobowencode@gmail.com",
      "hash": "95fab400ff8b98cb608e4f4260d8261818ad9cf6",
      "subject": "Bug 2058017 - Backport win11 UILIMIT_HANDLES fix. r=yjuglaret,sandbox-reviewers,sotaro"
    },
    "D316716": {
      "author": "Omar Gonzalez",
      "avatar": "https://www.gravatar.com/avatar/177d9c601741c3356478bd66495030f9?d=identicon\u0026s=64",
      "cl": "D316716",
      "clUrl": "https://phabricator.services.mozilla.com/D316716",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D316716",
      "email": "s9tpepper@apache.org",
      "hash": "11ea5f007ed5d8679cc241029802efd00fd43c45",
      "subject": "Bug 2055068 - Add testing to Smart Form Fill core r=mlucks"
    },
    "D317037": {
      "author": "Martin Raiber",
      "avatar": "https://www.gravatar.com/avatar/ac8987375b76d87af04b32c3436a92a6?d=identicon\u0026s=64",
      "cl": "D317037",
      "clUrl": "https://phabricator.services.mozilla.com/D317037",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D317037",
      "email": "mraiber@mozilla.com",
      "hash": "3d11b67f8a40700545f42061ca10521598d0e586",
      "subject": "Bug 2037905 - Remove the legacy telemetry probe for email_tracker_embedded_per_tab r=timhuang,chumphreys"
    },
    "D317060": {
      "author": "Dino Mehic",
      "avatar": "https://www.gravatar.com/avatar/35f749b40d5be33dba6b8a826ad95151?d=identicon\u0026s=64",
      "cl": "D317060",
      "clUrl": "https://phabricator.services.mozilla.com/D317060",
      "description": "The Glean metric contentblocking.email_tracker_count is unchanged; only its\nLegacy Telemetry mirror is removed. The recording site in\nUrlClassifierFeatureEmailTrackingDataCollection.cpp already records exclusively\nthrough Glean, so no instrumentation changes are needed.\n\nbrowser_emailtracking_telemetry.js asserted on the legacy histogram only, with\nno Glean equivalent to fall back on, so those assertions are converted to\nGlean rather than dropped. The EMAIL_TRACKER_EMBEDDED_PER_TAB assertions are\nleft alone, as that probe still mirrors.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D317060",
      "email": "dmehic@mozilla.com",
      "hash": "8a94205b124982348c466d3b81a5c12fc0a34dcd",
      "subject": "Bug 2061376 - Remove the Legacy Telemetry mirror of email_tracker_count r=chutten,timhuang"
    },
    "D317435": {
      "author": "Dan Mehic",
      "avatar": "https://www.gravatar.com/avatar/35f749b40d5be33dba6b8a826ad95151?d=identicon\u0026s=64",
      "cl": "D317435",
      "clUrl": "https://phabricator.services.mozilla.com/D317435",
      "description": "The shim stubs ramblerIdHelper until the user attempts to log in, then opts\nin, loads the real script, and replays the calls the page made in the\nmeantime. Three defects meant it did not replay them correctly.\n\naddLoggedCall assigned an arrow function, which has no `arguments` binding of\nits own, so `arguments` resolved to the enclosing addLoggedCall(fn) call and\nevery logged entry recorded the handler's own name instead of the callback the\npage passed. Replay then called helper[fn] with that string, so none of the\npage's login and frame callbacks were ever registered on the real helper. The\nprototype in bug 1606428 comment 1 used a regular function here and was\ncorrect; the conversion to an arrow function when the shim landed lost that.\nUse rest parameters, which capture the arguments regardless of function kind.\n\nopenAuth had the same problem in a different form: `arguments` inside the\npromise callback is the resolved value of sendMessageToAddon, not openAuth's\narguments, so the page's arguments were replaced by the opt-in response.\n\nFinally, URL.pathname always begins with a slash, so the comparison added in\nbug 1909241 could never match and originalScript always fell through to the\nhardcoded fallback, leaving the protocol and hostname checks unreachable. The\nfallback happens to be the only URL the shim matches, so this was not\nobservable, but the validation was not doing anything.\n\nThis does not address the API change described in comment 0; the shim still\ntakes the pre-iframe approach.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D317435",
      "email": "dmehic@mozilla.com",
      "hash": "c6aaeab217e259695da185ad43f60e521ab80076",
      "subject": "Bug 1713705 - Fix argument capture and path matching in the Rambler Authenticator shim r=webcompat-reviewers,twisniewski"
    },
    "D317442": {
      "author": "Maryam",
      "avatar": "https://www.gravatar.com/avatar/25b560083af872cabb7025732c99ad2d?d=identicon\u0026s=64",
      "cl": "D317442",
      "clUrl": "https://phabricator.services.mozilla.com/D317442",
      "description": "URLParams's parse/serialize round-trip can't distinguish a valueless\nparam (‘x’) from one with an explicit empty value (‘x=‘), since\nURLParams::Param only stores {key, value} with no record of whether\nthe original segment contained an ‘=‘. This caused ‘Copy Clean Link’\nand automatic query-string stripping to turn ‘?fbclid=test\u0026x’ into\n‘?x=‘ instead of ‘?x’.\n\nAdds a local QueryParam struct (scoped to this file) that tracks the\npresence of an ‘=‘, plus split/serialize helpers built on\nURLParams::ParseWithEquals() that preserve it through stripping. Both\nStripQueryString and StripForCopyOrShareInternal now use these instead\nof URLParams for parsing/serializing the query string.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D317442",
      "email": "momar@mozilla.com",
      "hash": "c928c49b92817c268de246313d369307b8453712",
      "subject": "Bug 1960853 - Copy Clean Link: Adds ‘=‘ after empty parameters when stripping. r=timhuang,urlbar-reviewers,jteow"
    },
    "D317806": {
      "author": "serge-sans-paille",
      "avatar": "https://www.gravatar.com/avatar/9cdfdfc05249440f57269a0d26487253?d=identicon\u0026s=64",
      "cl": "D317806",
      "clUrl": "https://phabricator.services.mozilla.com/D317806",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D317806",
      "email": "sguelton@mozilla.com",
      "hash": "3d1f858795c9aad0d8a17d0183b276a0756f3177",
      "subject": "Bug 2062600 - Properly cite llama.cpp in our license file r=sylvestre"
    },
    "D318411": {
      "author": "Maryam",
      "avatar": "https://www.gravatar.com/avatar/25b560083af872cabb7025732c99ad2d?d=identicon\u0026s=64",
      "cl": "D318411",
      "clUrl": "https://phabricator.services.mozilla.com/D318411",
      "description": "URLParams::Parse() and Serialize() cannot distinguish \"x\" from \"x=\":\nboth parse to {name: \"x\", value: \"\"}, which is correct for\nSerialize()'s spec-mandated name=value output (used by\nURLSearchParams), but loses information a caller needs to reproduce\nthe original query string with a minimal edit.\n\nAdds ParseWithEquals(), which additionally passes whether the parsed\nsegment contained an '=' to the handler. Parse() is now implemented in\nterms of ParseWithEquals() to avoid duplicating the parsing loop.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D318411",
      "email": "momar@mozilla.com",
      "hash": "ebfaec8b19e491b07e2eb068962693dce3a3c58a",
      "subject": "Bug 1960853 - Add URLParams::ParseWithEquals() helper for parsing parameters with explicit equals signs r=necko-reviewers,timhuang,valentin"
    },
    "D319025": {
      "author": "Makoto Kato",
      "avatar": "https://www.gravatar.com/avatar/1875645d5594d36bca29657d51d24ed6?d=identicon\u0026s=64",
      "cl": "D319025",
      "clUrl": "https://phabricator.services.mozilla.com/D319025",
      "description": "When using old version of Samsung My File app and opening a PDF file\nfrom it, URI has authority with user id such as `\"0@media\"`.\n\nWhen opening it with `\"0@meida\"` authority, Firefox cannot open it\nsince `PackageManager.resolveContentProvider` cannot parse it.\n\nSo we need to remove user id from authority when calling\n`PackageManager.resolveContentProvider` to get the correct content\nprovider information.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D319025",
      "email": "m_kato@ga2.so-net.ne.jp",
      "hash": "66ecf75aa1a0f01cd7c9c6a9b70db1ed6770e5a5",
      "subject": "Bug 2051026 - Firefox should consider content:// URI that has authority with user id. r=geckoview-reviewers,tcampbell"
    },
    "D319043": {
      "author": "Arnaud Bienner",
      "avatar": "https://www.gravatar.com/avatar/4ce6cc4210e212c94d690c9c8c5c19bb?d=identicon\u0026s=64",
      "cl": "D319043",
      "clUrl": "https://phabricator.services.mozilla.com/D319043",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D319043",
      "email": "abienner@mozilla.com",
      "hash": "d4b13a4b9a4eb312f9aa70f069f425c7f6f3f625",
      "subject": "Bug 2063892 - Quota manager: stop rescan of origins if shutdown is ongoing. r=jari"
    },
    "D319641": {
      "author": "Harveer Singh",
      "avatar": "https://www.gravatar.com/avatar/53a89b8d24636f7d6172eefd328684dc?d=identicon\u0026s=64",
      "cl": "D319641",
      "clUrl": "https://phabricator.services.mozilla.com/D319641",
      "description": "NSSCipherStrategy::Cipher asked PK11_AEADOp to produce the ChaCha20-Poly1305\nnonce with CKG_GENERATE_COUNTER and fixedbits=0. NSS implements that by\noverwriting the whole 96-bit nonce with a counter private to the PK11Context\nand starting at zero, so the random block prefix callers passed in was\ndiscarded.\n\nObfuscatingVFS creates an encrypt context per SQLite file handle and per\nreopen, all keyed with the same per-database key, so those independent counters\nrepeat (key, nonce) pairs. ChaCha20 is a stream cipher, so a repeated pair\nmeans a repeated keystream, and it also repeats the Poly1305 one-time key.\n\nDraw the nonce with PK11_GenerateRandom on every Cipher call instead and pass\nCKG_NO_GENERATE. Decrypt reads the nonce stored alongside the ciphertext and\nnever derived it, so this changes no on-disk format and existing databases stay\nreadable.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D319641",
      "email": "hsingh@mozilla.com",
      "hash": "8c7497194250dfb732cf3589fae72f438c48410b",
      "subject": "Bug 2055694 - Generate a random nonce per message in NSSCipherStrategy r=dom-storage-reviewers,jari"
    },
    "D319828": {
      "author": "Vincent Hilla",
      "avatar": "https://www.gravatar.com/avatar/a8fd53ad2b0e29c7dcd466d08a6c4b4a?d=identicon\u0026s=64",
      "cl": "D319828",
      "clUrl": "https://phabricator.services.mozilla.com/D319828",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D319828",
      "email": "vhilla@mozilla.com",
      "hash": "9b0a52c776fb98e9c5832156c54c08b6afadbf5d",
      "subject": "Bug 2049792 - Sanity-check content-provided result and original URI. r=nika,dom-core-reviewers,smaug"
    },
    "D319829": {
      "author": "Vincent Hilla",
      "avatar": "https://www.gravatar.com/avatar/a8fd53ad2b0e29c7dcd466d08a6c4b4a?d=identicon\u0026s=64",
      "cl": "D319829",
      "clUrl": "https://phabricator.services.mozilla.com/D319829",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D319829",
      "email": "vhilla@mozilla.com",
      "hash": "5510135fdcb38ed8f00180f60d7be5c36c4aca35",
      "subject": "Bug 2049792 - Don't allow content to set result or original URI on SH. r=dom-core-reviewers,smaug"
    },
    "D320000": {
      "author": "Julien Cristau",
      "avatar": "https://www.gravatar.com/avatar/15b9b3783e4671cd882bff1316df14c9?d=identicon\u0026s=64",
      "cl": "D320000",
      "clUrl": "https://phabricator.services.mozilla.com/D320000",
      "description": "The linux onnxruntime task builds in a Debian 12 image with no sysroot, so the\nlibrary we ship ends up requiring GLIBC_2.34 and GLIBCXX_3.4.30, meaning a\nsystem no older than Debian 12 or Ubuntu 22.04. Firefox dlopens the library\nlazily (dom/onnx/InferenceSession.cpp), so rather than failing loudly, on any\nolder system InferenceSession::isAvailable() returns false and the ML code\nquietly falls back to the wasm backend.\n\nBuild it against sysroot-x86_64-linux-gnu, the same sysroot the linux64 Firefox\nbuilds use. That brings the glibc requirement down to GLIBC_2.16.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D320000",
      "email": "jcristau@mozilla.com",
      "hash": "5087f684d8223630b31ffa9852db8f517b412bb1",
      "subject": "Bug 2064737 - Build the onnxruntime toolchain against the sysroot. r=firefox-build-system-reviewers,sergesanspaille"
    },
    "D320001": {
      "author": "Julien Cristau",
      "avatar": "https://www.gravatar.com/avatar/15b9b3783e4671cd882bff1316df14c9?d=identicon\u0026s=64",
      "cl": "D320001",
      "clUrl": "https://phabricator.services.mozilla.com/D320001",
      "description": "Building against the sysroot fixes the glibc requirement, but the library still\nneeds GLIBCXX_3.4.26 and CXXABI_1.3.11, against a baseline of GLIBCXX_3.4.19 and\nCXXABI_1.3.7. That would still lose the native backend on anything older than\nlibstdc++ from gcc 9, which includes Debian 10 and RHEL 8.\n\nMost of that could be shimmed the way build/unix/stdc++compat does it, which\nalready handles _Sp_make_shared_tag::_S_eq and the stringstream constructors at\nthat exact version, and aligned new is the same shape as the operator\ndelete(void*, size_t) shim there. std::filesystem is the exception: it isn't a\ntemplate, so the explicit instantiation trick doesn't apply, its members are out\nof line in libstdc++.so, and shimming them means replicating path::_List and\n_Impl exactly. The sysroot's libstdc++fs.a is no help, since gcc 9 moved the\nC++17 filesystem into libstdc++.so and left it holding only\nstd::experimental::filesystem. Going that way would also mean porting a\nFirefox-internal compat layer, and its mfbt dependency, into a third-party CMake\nbuild and keeping the two in sync.\n\nSo link libstdc++ statically instead. That is safe here because upstream's\nversion script exports only OrtGetApiBase and\nOrtSessionOptionsAppendExecutionProvider_CPU, the interface Firefox uses is the\nORT C API, and the library is dlopened with PR_LD_LOCAL, so no C++ symbols or\nobjects cross into Gecko. The library no longer links against libstdc++.so.6 at\nall.\n\nA static libstdc++ does bring in its __cxa_thread_atexit, a bare forward to\nglibc's __cxa_thread_atexit_impl, which is the only GLIBC_2.18 symbol. The\nstdc++compat shim can't help there: it forwards to __cxa_thread_atexit, which\nagainst a static libstdc++ is that same forward calling back into it. So provide\na real implementation, the same pthread key approach libstdc++ itself uses when\nglibc has no __cxa_thread_atexit_impl. The library ends up at GLIBC_2.16, with no\nGLIBCXX_ or CXXABI_ dependency at all.\n\nThe library grows by 545KB unstripped, which is not measurable in the packaged\nsize: linux64 target.tar.xz went from 94418972 to 94366924 bytes.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D320001",
      "email": "jcristau@mozilla.com",
      "hash": "8cf01d48fd80e3762f2adffe038460675eb8fd48",
      "subject": "Bug 2064737 - Link libstdc++ statically into the onnxruntime library. r=firefox-build-system-reviewers,sergesanspaille"
    },
    "D320102": {
      "author": "Maryam",
      "avatar": "https://www.gravatar.com/avatar/25b560083af872cabb7025732c99ad2d?d=identicon\u0026s=64",
      "cl": "D320102",
      "clUrl": "https://phabricator.services.mozilla.com/D320102",
      "description": "RequestStorageAccess and RequestStorageAccessForOrigin repeated the same\nresolve-or-reject-with-NotAllowedError logic at every step. Factor it into\ntwo small helpers and drop two locals that were\nonly ever used for a null check.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D320102",
      "email": "momar@mozilla.com",
      "hash": "c36c839b10400a7234d64f3015c4959121f89348",
      "subject": "Bug 2062077 - Deduplicate storage access promise resolve/reject logic in Document r=timhuang"
    },
    "D320125": {
      "author": "Julien Cristau",
      "avatar": "https://www.gravatar.com/avatar/15b9b3783e4671cd882bff1316df14c9?d=identicon\u0026s=64",
      "cl": "D320125",
      "clUrl": "https://phabricator.services.mozilla.com/D320125",
      "description": "Libraries we link ourselves are checked for compatibility with the\nsystems we support as part of the link rule, but a prebuilt one dropped\ninto FINAL_TARGET_FILES is only copied, so nothing checks it.\nlibonnxruntime is currently the only one, and it shipped needing\nGLIBC_2.34 for a while without anything noticing.\n\nFINAL_TARGET_FILES treats absolute paths separately, so that install\nrule is the place to do this.\n\ncheck_binary skips anything that isn't ELF, so on Windows and macOS this\nonly costs a file type check.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D320125",
      "email": "jcristau@mozilla.com",
      "hash": "d8e72d0d8b4015819acc7b3effac9976be3c85fa",
      "subject": "Bug 2064737 - Run check_binary on prebuilt libraries installed by FINAL_TARGET_FILES. r=firefox-build-system-reviewers,sergesanspaille,glandium,ahochheiden"
    },
    "D320193": {
      "author": "Alex Hochheiden",
      "avatar": "https://www.gravatar.com/avatar/d543df9ea6c80e41387222577084eec1?d=identicon\u0026s=64",
      "cl": "D320193",
      "clUrl": "https://phabricator.services.mozilla.com/D320193",
      "description": "A linker needs literal symbol names, so the patterns a symbol pattern file\nholds are resolved against the static library the shared library is linked\nfrom. Windows takes the result as a module definition file, while ELF and\nMach-O take undefined symbol roots that keep the archive members defining\nthose symbols.\n\nA generated file the link reads has to exist before the link runs, so\nEXTRA_LINK_DEPS decides which generated outputs are written in the directory\nthat links them rather than at the top level.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D320193",
      "email": "ahochheiden@mozilla.com",
      "hash": "acc54bb6ef53a295223d26f8ae23b4e03b8aa640",
      "subject": "Bug 2035575 - Add an action to generate linker symbol inputs from a static archive r=firefox-build-system-reviewers,sergesanspaille"
    },
    "D320196": {
      "author": "Alex Hochheiden",
      "avatar": "https://www.gravatar.com/avatar/d543df9ea6c80e41387222577084eec1?d=identicon\u0026s=64",
      "cl": "D320196",
      "clUrl": "https://phabricator.services.mozilla.com/D320196",
      "description": "UniFFI symbols are resolved by name at run time, so nothing refers to them at\nlink time and the linker keeps none of the archive members that define them.\nThe stub named one symbol per crate, which kept one member each, and it did not\npopulate the Windows export table.\n\n`megazord.symbols` describes the ABI once. Windows gets a module definition\nfile, which both keeps those members and exports them. ELF and Mach-O get\nundefined symbol roots to keep the members, and rely on SYMBOLS_FILE for what\nthe library exports.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D320196",
      "email": "ahochheiden@mozilla.com",
      "hash": "5c2121970343686aaa2a9f07dd5d3b722d624073",
      "subject": "Bug 2035575 - Export the megazord's UniFFI ABI without the symbol stub r=firefox-build-system-reviewers,sergesanspaille"
    },
    "D320494": {
      "author": "Ryan Hunt",
      "avatar": "https://www.gravatar.com/avatar/8db6b22eadf9c098ae78e6d0d0615e29?d=identicon\u0026s=64",
      "cl": "D320494",
      "clUrl": "https://phabricator.services.mozilla.com/D320494",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D320494",
      "email": "rhunt@eqrion.net",
      "hash": "1a3cb5deadd0a4c6e16140082b994a2841f35a9a",
      "subject": "Bug 2042743 - Check the baseline frame height before creating a stackmap. r=yury"
    },
    "D320539": {
      "author": "Ryan Hunt",
      "avatar": "https://www.gravatar.com/avatar/8db6b22eadf9c098ae78e6d0d0615e29?d=identicon\u0026s=64",
      "cl": "D320539",
      "clUrl": "https://phabricator.services.mozilla.com/D320539",
      "description": "Pure code motion, so that a following patch can add an inlineable accessor for\nthe process-wide map. The method bodies move to WasmProcess.cpp to keep\nWasmProcess.h from needing the complete CodeBlock type.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D320539",
      "email": "rhunt@eqrion.net",
      "hash": "6127d8a61457e85487b3645db9a25a72d1db54a7",
      "subject": "Bug 2060057 - Move ThreadSafeCodeBlockMap to WasmProcess.h. r=jseward"
    },
    "D320540": {
      "author": "Ryan Hunt",
      "avatar": "https://www.gravatar.com/avatar/8db6b22eadf9c098ae78e6d0d0615e29?d=identicon\u0026s=64",
      "cl": "D320540",
      "clUrl": "https://phabricator.services.mozilla.com/D320540",
      "description": "RegisterCodeBlock and UnregisterCodeBlock updated wasm::CodeExists after the\nmap's lock was released, so a concurrent register and unregister could leave the\nflag false while code blocks were still registered.\n\nReplace the global with an `empty_` member of ThreadSafeCodeBlockMap, maintained\nby insert() and remove() while mutatorsMutex_ is held, and make\nwasm::CodeExists() an inline accessor for the process-wide map.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D320540",
      "email": "rhunt@eqrion.net",
      "hash": "6a3341b7e2e953a6f0ae6c500a945f83533c30ae",
      "subject": "Bug 2060057 - Update wasm::CodeExists inside the code block map's critical section. r=jseward"
    },
    "D320694": {
      "author": "Dão Gottwald",
      "avatar": "https://www.gravatar.com/avatar/45dfe136efbb8e5f89eb0b21775ab195?d=identicon\u0026s=64",
      "cl": "D320694",
      "clUrl": "https://phabricator.services.mozilla.com/D320694",
      "description": "Both sites read the attribute where the tab has a getter that parses it, so a documented number was a string. No behaviour rides on the difference: a container id is never 0, since ContextualIdentityService allocates from 1, and every writer of the attribute guards on truthiness, so string and number diverge only for a value that cannot occur.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D320694",
      "email": "dao@mozilla.com",
      "hash": "68cfbfead50a80f48d86b3dc90ead8f071be1265",
      "subject": "Bug 2065813 - Take a tab's userContextId from the tab, not its attribute. r=jsudiaman,tabbrowser-reviewers"
    },
    "D320695": {
      "author": "Dão Gottwald",
      "avatar": "https://www.gravatar.com/avatar/45dfe136efbb8e5f89eb0b21775ab195?d=identicon\u0026s=64",
      "cl": "D320695",
      "clUrl": "https://phabricator.services.mozilla.com/D320695",
      "description": "The prompt passes no checkbox message, so nothing reads or writes that state: the change is inert at runtime and only satisfies `InOutParam\u003cboolean\u003e`.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D320695",
      "email": "dao@mozilla.com",
      "hash": "7c05f8dd047add1f375b96cd2baf1872185816e8",
      "subject": "Bug 2065813 - Pass confirmEx a checkbox state it can write to. r=kcochrane,tabbrowser-reviewers"
    },
    "D320696": {
      "author": "Dão Gottwald",
      "avatar": "https://www.gravatar.com/avatar/45dfe136efbb8e5f89eb0b21775ab195?d=identicon\u0026s=64",
      "cl": "D320696",
      "clUrl": "https://phabricator.services.mozilla.com/D320696",
      "description": "The bag carries `removeTabs` options through, which callers rely on, so its declared shape is two flags out of eight. Enumerating the other six here would duplicate their documentation; the cast says the object is opaque at this point instead.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D320696",
      "email": "dao@mozilla.com",
      "hash": "c3b4df84c958eefa9d820a0f61517e4f055a5363",
      "subject": "Bug 2065813 - Let removeAllTabsBut forward the options it doesn't document. r=nsharpley,tabbrowser-reviewers"
    },
    "D320732": {
      "author": "Sylvestre Ledru",
      "avatar": "https://www.gravatar.com/avatar/fb0fd07485efdfc05e02987075fdbab0?d=identicon\u0026s=64",
      "cl": "D320732",
      "clUrl": "https://phabricator.services.mozilla.com/D320732",
      "description": "Only event and object metrics use the binding. Fixes ~2600\nclippy::let_and_return in the generated metrics.rs.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D320732",
      "email": "sylvestre@debian.org",
      "hash": "a53d15dfc0a9d9de3bbb579b44eef3b66fa6d7eb",
      "subject": "Bug 2065925 - Don't bind the metric in the codegen'd Lazy unless its size is measured. r=TravisLong"
    },
    "D320733": {
      "author": "Sylvestre Ledru",
      "avatar": "https://www.gravatar.com/avatar/fb0fd07485efdfc05e02987075fdbab0?d=identicon\u0026s=64",
      "cl": "D320733",
      "clUrl": "https://phabricator.services.mozilla.com/D320733",
      "description": "into_ffi_extra takes self by value, so a string extra can be moved straight\ninto the HashMap\u003cString, String\u003e. Fixes ~2800 clippy::implicit_clone.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D320733",
      "email": "sylvestre@debian.org",
      "hash": "c7000d06782bb31f28038a8a637a528ed55764b9",
      "subject": "Bug 2065925 - Move string event extras into the FFI map instead of cloning them. r=TravisLong"
    },
    "D320734": {
      "author": "Sylvestre Ledru",
      "avatar": "https://www.gravatar.com/avatar/fb0fd07485efdfc05e02987075fdbab0?d=identicon\u0026s=64",
      "cl": "D320734",
      "clUrl": "https://phabricator.services.mozilla.com/D320734",
      "description": "From gives Into for free, so the existing .into() callers are unaffected.\nFixes 434 clippy::from_over_into.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D320734",
      "email": "sylvestre@debian.org",
      "hash": "f7f163579a85da67d51b0554ccb06b9685d2e64c",
      "subject": "Bug 2065925 - Implement From rather than Into for codegen'd label enums. r=TravisLong"
    },
    "D320735": {
      "author": "Sylvestre Ledru",
      "avatar": "https://www.gravatar.com/avatar/fb0fd07485efdfc05e02987075fdbab0?d=identicon\u0026s=64",
      "cl": "D320735",
      "clUrl": "https://phabricator.services.mozilla.com/D320735",
      "description": "map_or over map().unwrap_or(), is_empty() over len() == 0, no tail return,\ninlined format args, a hoisted extern block, a MetricMap\u003cT\u003e alias, plain\ncomments for the factory.rs header, and no .into() on an already-u32 ping id.\nThe two create_and_register_* entry points mirror the metric constructors, so\ntheir long argument lists get a targeted allow instead.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D320735",
      "email": "sylvestre@debian.org",
      "hash": "1e2973747b8aa14976e9f5c5cd7e125ce3a69590",
      "subject": "Bug 2065925 - Fix assorted small clippy lints across the Rust codegen. r=TravisLong"
    },
    "D320736": {
      "author": "Sylvestre Ledru",
      "avatar": "https://www.gravatar.com/avatar/fb0fd07485efdfc05e02987075fdbab0?d=identicon\u0026s=64",
      "cl": "D320736",
      "clUrl": "https://phabricator.services.mozilla.com/D320736",
      "description": "Metric ids and metrics.yaml range values are up to twelve digits. Fixes\n~19600 clippy::unreadable_literal.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D320736",
      "email": "sylvestre@debian.org",
      "hash": "abcab783602b0bdc42509f96f94d8ee3359a7472",
      "subject": "Bug 2065925 - Render codegen'd integer literals with digit separators. r=TravisLong"
    },
    "D321051": {
      "author": "Anna Kulyk",
      "avatar": "https://www.gravatar.com/avatar/2c28c953ecebb4b478e4cd8e21ab56ff?d=identicon\u0026s=64",
      "cl": "D321051",
      "clUrl": "https://phabricator.services.mozilla.com/D321051",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D321051",
      "email": "akulyk@mozilla.com",
      "hash": "719883bd7a22a9c307aa7b7290a5704860a2f7f2",
      "subject": "Bug 2059528 - Alias the popup border light/dark values to --border-color-deemphasized r=desktop-theme-reviewers,mstriemer,thecount,dao"
    },
    "D321103": {
      "author": "Tim Giles",
      "avatar": "https://www.gravatar.com/avatar/c161a1db8cb12efdac86d88333c527ad?d=identicon\u0026s=64",
      "cl": "D321103",
      "clUrl": "https://phabricator.services.mozilla.com/D321103",
      "description": "Define `theme_picker.shown` and `theme_picker.change` in\n`browser/modules/metrics.yaml` so picker exposure and theme changes can\nbe segmented by hosting surface and compact/full layout. The schema\nreserves session linkage and appearance/native-theme fields for a\nfollow-up. The schema also documents the existing profile-theme metrics\nto help prevent double counting those clicks.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D321103",
      "email": "tgiles@mozilla.com",
      "hash": "d206d47093fccdb290e6ebe85bde07e4cb6ee810",
      "subject": "Bug 2052547 - Add theme_picker Glean metrics. r=chutten"
    },
    "D321104": {
      "author": "Tim Giles",
      "avatar": "https://www.gravatar.com/avatar/c161a1db8cb12efdac86d88333c527ad?d=identicon\u0026s=64",
      "cl": "D321104",
      "clUrl": "https://phabricator.services.mozilla.com/D321104",
      "description": "Record `theme_picker.change` in `browser/themes/ThemesList.sys.mjs` at\n`ThemesList.updateThemeState`. We only record after `updateThemeState`\nsucceeds so that counts are consistent. Each event records the install\nsource, the caller's layout, and the selected theme ID.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D321104",
      "email": "tgiles@mozilla.com",
      "hash": "b8f751624a91e51a06bcba6146f0c2c5a3ea6204",
      "subject": "Bug 2052547 - Record theme selections in ThemesList.updateThemeState. r=desktop-theme-reviewers,kcochrane"
    },
    "D321105": {
      "author": "Tim Giles",
      "avatar": "https://www.gravatar.com/avatar/c161a1db8cb12efdac86d88333c527ad?d=identicon\u0026s=64",
      "cl": "D321105",
      "clUrl": "https://phabricator.services.mozilla.com/D321105",
      "description": "By threading installsource and layout through the actor messages, remote\npickers can record their hosting surface and their layout.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D321105",
      "email": "tgiles@mozilla.com",
      "hash": "0a8ceab01c2b938925161f61e2aea94fa69fd229",
      "subject": "Bug 2052547 - Thread installsource and layout through theme-picker actor messages. r=mkennedy"
    },
    "D321106": {
      "author": "Tim Giles",
      "avatar": "https://www.gravatar.com/avatar/c161a1db8cb12efdac86d88333c527ad?d=identicon\u0026s=64",
      "cl": "D321106",
      "clUrl": "https://phabricator.services.mozilla.com/D321106",
      "description": "The direct theme controller sends its host's layout, while the addons\ntheme picker only sends \"full\" for the layout.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D321106",
      "email": "tgiles@mozilla.com",
      "hash": "93e0f429897c8854e497918a2dc94ed45c407d91",
      "subject": "Bug 2052547 - Populate layout at the remaining updateThemeState callers. r=extension-reviewers,mkennedy,rpl"
    },
    "D321312": {
      "author": "Seva Alipov",
      "avatar": "https://www.gravatar.com/avatar/b8f0fae0d066628001b570f58c91ec0d?d=identicon\u0026s=64",
      "cl": "D321312",
      "clUrl": "https://phabricator.services.mozilla.com/D321312",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D321312",
      "email": "salipov@mozilla.com",
      "hash": "c5b375897eb7ac350b659e31cb656f7cd49297ca",
      "subject": "Bug 2043002: Implement the automatic, container size based line clamping for css line-clamp. r=layout-reviewers,dshin"
    },
    "D321422": {
      "author": "Masha Lifshin",
      "avatar": "https://www.gravatar.com/avatar/87e8b5316e39e7203c9a41b6c9f52742?d=identicon\u0026s=64",
      "cl": "D321422",
      "clUrl": "https://phabricator.services.mozilla.com/D321422",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D321422",
      "email": "mlifshin@mozilla.com",
      "hash": "988b4fc66eee4ac3cca0b052f396472ddda9005b",
      "subject": "Bug 2066944 - Update Android fxsuggest tests for the new required suggestion_id r=android-reviewers,skhan"
    },
    "D321717": {
      "author": "Eitan Isaacson",
      "avatar": "https://www.gravatar.com/avatar/61cc67b9e21c81cd289bea0f592cebfe?d=identicon\u0026s=64",
      "cl": "D321717",
      "clUrl": "https://phabricator.services.mozilla.com/D321717",
      "description": "HTMLSpinnerAccessible was never assigned an mType of eHTMLSpinnerType,\nso that didn't work. Added IsHTMLRange as well.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D321717",
      "email": "eitan@monotonous.org",
      "hash": "56ec023597ada2e738b9f5dd1a09fa546d6f12aa",
      "subject": "Bug 1981648 - P1: Add IsHTMLRange and fix IsHTMLSpinner. r=Jamie"
    },
    "D321718": {
      "author": "Eitan Isaacson",
      "avatar": "https://www.gravatar.com/avatar/61cc67b9e21c81cd289bea0f592cebfe?d=identicon\u0026s=64",
      "cl": "D321718",
      "clUrl": "https://phabricator.services.mozilla.com/D321718",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D321718",
      "email": "eitan@monotonous.org",
      "hash": "867af286189a94dcc57f39c4565dfbcfaf56c465",
      "subject": "Bug 1981648 - P2: Make ranges and spinners adjustable with scroll action. r=Jamie,geckoview-reviewers,m_kato"
    },
    "D321719": {
      "author": "Eitan Isaacson",
      "avatar": "https://www.gravatar.com/avatar/61cc67b9e21c81cd289bea0f592cebfe?d=identicon\u0026s=64",
      "cl": "D321719",
      "clUrl": "https://phabricator.services.mozilla.com/D321719",
      "description": "A non focused accessible sends a TYPE_VIEW_SCROLLED and a focused one a\nTYPE_VIEW_SELECTED...\n\nAlso removed redundant role description for slider since TalkBack\nalready speaks this role correctly.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D321719",
      "email": "eitan@monotonous.org",
      "hash": "86f69a8d83434f9ba66ad28cc978a572eb84074f",
      "subject": "Bug 1981648 - P3: Send value change events for numeric values. r=Jamie,geckoview-reviewers,m_kato"
    },
    "D321827": {
      "author": "Valentin Gosu",
      "avatar": "https://www.gravatar.com/avatar/dedff9d4500fcbc5cdd1cd270f044b33?d=identicon\u0026s=64",
      "cl": "D321827",
      "clUrl": "https://phabricator.services.mozilla.com/D321827",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D321827",
      "email": "valentin.gosu@gmail.com",
      "hash": "d98a7cdf9a2145c823e8553d96bf4b151198b3ec",
      "subject": "Bug 2051115 - Reject unescaped nulls from mimeheader r=necko-reviewers,kershaw"
    },
    "D321872": {
      "author": "Beth Rennie",
      "avatar": "https://www.gravatar.com/avatar/8dbfb17ff64ab8886097a36541232064?d=identicon\u0026s=64",
      "cl": "D321872",
      "clUrl": "https://phabricator.services.mozilla.com/D321872",
      "description": "The use of these factories has been replaced with:\n\n- `ExperimentManager.createIncompleteEnrollment()`, a static method that\n  provides a common implmentation of enrollment creation for the\n  ExperimentManager (via `ExperimentManager.createEnrollment()`) and\n  tests;\n- `NimbusTestUtils.factories.enrollment()`, which generates an enrollment\n  from a recipe using `createInactiveEnrollment()`; and\n- `NimbusTestUtils.factories.addEnrollmentForRecipe()`, which uses\n  `factories.enrollment()` to add an enrollment to a store given a\n  recipe.\n\n`ExperimentManager.createIncompleteEnrollment()` does the bulk of the\nheavy lifting here and exists to generate all the non-stateful (e.g.,\n`prefFlips`, and `prefs` fields).\n\n`ExperimentManager.createEnrollment()` did not provide a default\nenrollment reason for inactive enrollments. Inactive enrollments now\ndefault to \"unknown\".\n\nAdditionally, I found a bug in test_Migrations.js where we were not\nactually testing the values of prefs.\n\nI also took this opportunity to split up the tests in\ntest_ExperimentManager_context.js to be more independent from eachother.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D321872",
      "email": "beth@brennie.ca",
      "hash": "96cf785b9eb62d9ae5a61f411e77e0d74798a747",
      "subject": "Bug 2036222 - Remove NimbusTestUtils.factories.{experiment,rollout} r=ralkhulaidi,nimbus-reviewers,emcminn"
    },
    "D321873": {
      "author": "Beth Rennie",
      "avatar": "https://www.gravatar.com/avatar/8dbfb17ff64ab8886097a36541232064?d=identicon\u0026s=64",
      "cl": "D321873",
      "clUrl": "https://phabricator.services.mozilla.com/D321873",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D321873",
      "email": "beth@brennie.ca",
      "hash": "5adf600aaddd7f6765b090567132d4edceff64c2",
      "subject": "Bug 2066616 - Rework NimbusTestUtils branches and bucketConfig factories r=ralkhulaidi,nimbus-reviewers,mconley,emcminn"
    },
    "D321874": {
      "author": "Beth Rennie",
      "avatar": "https://www.gravatar.com/avatar/8dbfb17ff64ab8886097a36541232064?d=identicon\u0026s=64",
      "cl": "D321874",
      "clUrl": "https://phabricator.services.mozilla.com/D321874",
      "description": "Using Object.assign over Object.defineProperties allows for TypeScript\ntype information to be inferred.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D321874",
      "email": "beth@brennie.ca",
      "hash": "d3ee526ee0ecb5bc78130255fe3d158dc23ee91b",
      "subject": "Bug 2066616 - Define NimbusTestUtils.factories.recipe.withFeatureConfig using Object.assign r=ralkhulaidi,nimbus-reviewers,emcminn"
    },
    "D321875": {
      "author": "Beth Rennie",
      "avatar": "https://www.gravatar.com/avatar/8dbfb17ff64ab8886097a36541232064?d=identicon\u0026s=64",
      "cl": "D321875",
      "clUrl": "https://phabricator.services.mozilla.com/D321875",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D321875",
      "email": "beth@brennie.ca",
      "hash": "e708ed8ac71f5c9fa1c38d2ff1281f7463fd4284",
      "subject": "Bug 2065869 - Use XPCOMUtils.declareLazy for all Nimbus modules r=ralkhulaidi,nimbus-reviewers,emcminn"
    },
    "D321877": {
      "author": "Beth Rennie",
      "avatar": "https://www.gravatar.com/avatar/8dbfb17ff64ab8886097a36541232064?d=identicon\u0026s=64",
      "cl": "D321877",
      "clUrl": "https://phabricator.services.mozilla.com/D321877",
      "description": "This argument is never passed and is functionally a constant.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D321877",
      "email": "beth@brennie.ca",
      "hash": "3c0d8307b06e3d72f7ce0760fcf3dd224e030651",
      "subject": "Bug 2067177 - Remove ExperimentManager.id r=ralkhulaidi,nimbus-reviewers,emcminn"
    },
    "D321902": {
      "author": "Florian Quèze",
      "avatar": "https://www.gravatar.com/avatar/0ffa237c82d28773736b6c9688b404e3?d=identicon\u0026s=64",
      "cl": "D321902",
      "clUrl": "https://phabricator.services.mozilla.com/D321902",
      "description": "The close button is visibility:hidden until its row is hovered, so clicking it\nwithout hovering leaves it with no accessible and the a11y checks fall back to\nthe .preview-row ancestor, a non-focusable role=\"button\" tracked in bug 2067077.\n\nThe launcher button has no layout until it has rendered, so a mousemove\nsynthesized at its centre as soon as it appears in the shadow DOM lands beside\nit and the preview never opens. Awaiting its render is not enough, as the\nlauncher keeps reflowing around it: retry the hover until the button reports\n:hover, moving the pointer away first when it is already there.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D321902",
      "email": "florian@queze.net",
      "hash": "ba43578cfbac3e4c80e32f1fe9dfebf5e4656bfc",
      "subject": "Bug 2062444 - Make browser_opentabs_hover_preview.js hover the launcher button and the preview row reliably, r=sfoster."
    },
    "D321949": {
      "author": "Gopalarathnam Venkatesan",
      "avatar": "https://www.gravatar.com/avatar/f756192b8138a062f328c2e256b84325?d=identicon\u0026s=64",
      "cl": "D321949",
      "clUrl": "https://phabricator.services.mozilla.com/D321949",
      "description": "When the selected node is a pseudo element, a text node or DOCTYPE, the inputs within\nthe class panel are disabled instead of disabling the \".cls\" button itself. The behavior\nis very much like how it's done with the \":hov\" button.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D321949",
      "email": "gopal@g13n.net",
      "hash": "c8d8dd33b265564f50b9c1ad06bd3bcd3e0ae6ec",
      "subject": "Bug 2000150 - Disable .cls panel inputs when a class cannot be added to the selected node r=devtools-reviewers,jdescottes"
    },
    "D321984": {
      "author": "Edgar Chen",
      "avatar": "https://www.gravatar.com/avatar/f65ba150a7cf6313efc23c96c9206cd8?d=identicon\u0026s=64",
      "cl": "D321984",
      "clUrl": "https://phabricator.services.mozilla.com/D321984",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D321984",
      "email": "echen@mozilla.com",
      "hash": "f94dc29b1565f7cebd787b606f8179d7afccf752",
      "subject": "Bug 2064287 - Harden drag handling; r=smaug"
    },
    "D322172": {
      "author": "Updatebot",
      "avatar": "https://www.gravatar.com/avatar/cd270ac15e761e2d4c08e9c9b7cfecca?d=identicon\u0026s=64",
      "cl": "D322172",
      "clUrl": "https://phabricator.services.mozilla.com/D322172",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D322172",
      "email": "updatebot@mozilla.com",
      "hash": "4a82abdc83b9268dbf83ff9f27f3231ae9872259",
      "subject": "Bug 2067580 - Update irregexp to 7cef5429de3a0dbe77d67502b328906cf24e591e r=iain"
    },
    "D322173": {
      "author": "Updatebot",
      "avatar": "https://www.gravatar.com/avatar/cd270ac15e761e2d4c08e9c9b7cfecca?d=identicon\u0026s=64",
      "cl": "D322173",
      "clUrl": "https://phabricator.services.mozilla.com/D322173",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D322173",
      "email": "updatebot@mozilla.com",
      "hash": "78d49ee2c181ee26a5aa8e449f0532cb96b88c31",
      "subject": "Bug 2067580 - Apply mozilla patches for irregexp r=iain"
    },
    "D322186": {
      "author": "Arnaud Bienner",
      "avatar": "https://www.gravatar.com/avatar/4ce6cc4210e212c94d690c9c8c5c19bb?d=identicon\u0026s=64",
      "cl": "D322186",
      "clUrl": "https://phabricator.services.mozilla.com/D322186",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D322186",
      "email": "abienner@mozilla.com",
      "hash": "3ec29012fc1ea65d986be6522f8c21105dfe33c4",
      "subject": "Bug 2066923 - Quota manager: use signed integers for usage values which we know can underflow. r=dom-storage-reviewers,jari"
    },
    "D322251": {
      "author": "Dão Gottwald",
      "avatar": "https://www.gravatar.com/avatar/45dfe136efbb8e5f89eb0b21775ab195?d=identicon\u0026s=64",
      "cl": "D322251",
      "clUrl": "https://phabricator.services.mozilla.com/D322251",
      "description": "`urlbar.zeroprefix` becomes `urlbar.zeroprefix2` because the change to a labeled counter breaks continuity for the existing series. The counters record through the parent controller because `Glean` is not exposed in about:newtab's realm, where the newtab bar's view runs. Their label is the input's `sap-name`, which is coarser than the `sap` extra on the urlbar events: that one is derived in the parent from the search source.\n\nThe Legacy Telemetry scalars go in the same commit because a labeled counter can only mirror to a keyed scalar, and test_mirrors.py asserts both directions of the mapping.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D322251",
      "email": "dao@mozilla.com",
      "hash": "cdb88094b64e12653962c174b88d4e3780d6e97f",
      "subject": "Bug 2066165 - Report the zero-prefix counters per SAP as urlbar.zeroprefix2. r=Standard8,janerik"
    },
    "D322266": {
      "author": "Sylvestre Ledru",
      "avatar": "https://www.gravatar.com/avatar/fb0fd07485efdfc05e02987075fdbab0?d=identicon\u0026s=64",
      "cl": "D322266",
      "clUrl": "https://phabricator.services.mozilla.com/D322266",
      "description": "Both BinarySearchIf comparators over Code::lazyExports returned the difference\nof two uint32_t values. BinarySearchIf stores the comparator result in an\n`auto` variable, so the result was unsigned and its `result \u003c 0` branch was\nnever taken, which Coverity reports as dead code (CID 1700568).\n\nIn lookupLazyFuncExport the search therefore never descends into the lower\nhalf and can miss an entry that is present. In createManyLazyEntryStubs the\nsame defect additionally yields a wrong insertion point on a failed lookup,\nleaving lazyExports unsorted.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D322266",
      "email": "sylvestre@debian.org",
      "hash": "71cf7f578a7b07aa29ec6690bc34e94ecfa58ebc",
      "subject": "Bug 2067674 - Use a signed comparison in the lazyExports binary searches r=jseward"
    },
    "D322267": {
      "author": "Sylvestre Ledru",
      "avatar": "https://www.gravatar.com/avatar/fb0fd07485efdfc05e02987075fdbab0?d=identicon\u0026s=64",
      "cl": "D322267",
      "clUrl": "https://phabricator.services.mozilla.com/D322267",
      "description": "mCompileResult is written by Run() with mMutex held, and read here without it.\nThe read happens on the main thread once the task has completed, so there is\nno actual race, but taking the lock is uncontended here and silences Coverity\n(CID 1700566).\n\nDifferential Revision: https://phabricator.services.mozilla.com/D322267",
      "email": "sylvestre@debian.org",
      "hash": "655f079fa58b502441c5918e4bc98a96eff7897b",
      "subject": "Bug 2067675 - Hold mMutex while reading mCompileResult in WasmCompileTask::StealResult r=dminor"
    },
    "D322305": {
      "author": "Sylvestre Ledru",
      "avatar": "https://www.gravatar.com/avatar/fb0fd07485efdfc05e02987075fdbab0?d=identicon\u0026s=64",
      "cl": "D322305",
      "clUrl": "https://phabricator.services.mozilla.com/D322305",
      "description": "The model added in bug 2059416 routes every ReadU8/ReadU16/.../ReadR64\nthrough a Read() that sanitizes the taint of *buf but never writes it,\nwhile the real ots::Buffer::ReadU16() and friends do. Coverity therefore\ntreats the destination of a successful read as still uninitialized, and\nsince every OTS parser is written as\n\n    uint8_t format;\n    if (!subtable.ReadU8(\u0026format) || ...)\n\nthat produced 136 UNINIT reports across gfx/ots, 135 of them first\ndetected the day the model was uploaded.\n\nAdd __coverity_writeall__() on the success path, keeping the sanitize\ncall that bug 2059416 was about.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D322305",
      "email": "sylvestre@debian.org",
      "hash": "fa76439edaf35015990dac12ec9fc2b4fb38323a",
      "subject": "Bug 2067722 - coverity: mark the ots::Buffer read destination as written r=sergesanspaille DONTBUILD"
    },
    "D322323": {
      "author": "scottdowne",
      "avatar": "https://www.gravatar.com/avatar/778eae8eed52e7a108e29e0df77dc65c?d=identicon\u0026s=64",
      "cl": "D322323",
      "clUrl": "https://phabricator.services.mozilla.com/D322323",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D322323",
      "email": "sdowne@mozilla.com",
      "hash": "006d4f16a55a07c002bd3404e36226b859263569",
      "subject": "Bug 2066559 - Newtab stories unblock global Spanish and global English feeds client-side r=ini"
    },
    "D322332": {
      "author": "Mike Conley",
      "avatar": "https://www.gravatar.com/avatar/4b4985a7acf7db49dfddd7815b55a043?d=identicon\u0026s=64",
      "cl": "D322332",
      "clUrl": "https://phabricator.services.mozilla.com/D322332",
      "description": "Bug 2048379 moved 13 homepage-settings strings from newtab.ftl into preferences.ftl, and added a build-time extract step that pulled them back out and appended them to every generated newtab.ftl, purely to feed the pre-155 fallback in AboutPreferences.sys.mjs. Nightly is now 157, so that fallback is unreachable and the extract can go.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D322332",
      "email": "mconley@mozilla.com",
      "hash": "b625877426e63190234c10d13c1d85cc4683bde4",
      "subject": "Bug 2067755 - Remove the version 155 train-hop plumbing that re-injects preferences.ftl strings into the newtab XPI. r=nina-py"
    },
    "D322340": {
      "author": "Mike Conley",
      "avatar": "https://www.gravatar.com/avatar/4b4985a7acf7db49dfddd7815b55a043?d=identicon\u0026s=64",
      "cl": "D322340",
      "clUrl": "https://phabricator.services.mozilla.com/D322340",
      "description": "Bug 2048379 moved the `homepage` and `customHomepage` setting groups into\nbrowser/components/preferences (home-startup.mjs) as of Firefox 155. With 155 on\nRelease, the pre-155 fallback in the newtab add-on can go.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D322340",
      "email": "mconley@mozilla.com",
      "hash": "306c1c0e512f5fd8044838763f6f538c18d34cb2",
      "subject": "Bug 2067754 - Remove version 155 train-hop shims for the homepage/customHomepage fallback in AboutPreferences. r=nina-py,mkennedy,fluent-reviewers,bolsson"
    },
    "D322398": {
      "author": "Ted Campbell",
      "avatar": "https://www.gravatar.com/avatar/1e2fa288b943b923daa29c9365f07e40?d=identicon\u0026s=64",
      "cl": "D322398",
      "clUrl": "https://phabricator.services.mozilla.com/D322398",
      "description": "Remove the mirrors while still leaving the Glean-based metrics in place.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D322398",
      "email": "tcampbell@mozilla.com",
      "hash": "9a27266e257d4ee708c1e01d704e70ed4a4c2cdc",
      "subject": "Bug 2067881 - Remove deprecated geckoview legacy telemetry mirrors. r=kaya,geckoview-reviewers,chutten"
    },
    "D322420": {
      "author": "Michael Kaply",
      "avatar": "https://www.gravatar.com/avatar/dc84c7d304a23e0a62a86580dd08c587?d=identicon\u0026s=64",
      "cl": "D322420",
      "clUrl": "https://phabricator.services.mozilla.com/D322420",
      "description": "A policy whose callback failed was indistinguishable from one that applied\ncleanly: getActivePolicies() listed it, and an async callback's rejection was\nnot observable at all, so nothing reached about:policies.\n\nThe policy engine now records a failure against the policy whose callback\nthrew or whose returned promise rejected. Policy implementations that need to\nkeep going after a single failed operation report it the same way, so one bad\npreference, certificate or match pattern no longer looks like a clean\napplication. Preferences also no longer discards the entries after one that\nfails.\n\nreportFailure lives in PoliciesHelpers next to PolicyFailures, the state it\nwrites to, so that both Policies and the helpers themselves report through one\nfunction rather than each keeping a copy.\n\nCleanup callbacks run without a policy name, so their failures are logged but\nnot attributed to a policy that does not exist.\n\nabout:policies flags those policies in the Active list and names the policy\neach message belongs to in a new column of the Errors tab. Failures logged\nfrom PoliciesHelpers were never displayed there at all.\n\ngetActivePolicies() is unchanged: those parameters are what the administrator\nasked for, and callers rely on that.\n\nHandlers still reports through the engine's generic handler; containing its\nmimeTypes loop so it can name the entry that failed is left for a follow-up.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D322420",
      "email": "mozilla@kaply.com",
      "hash": "97652a82f9b00fd400a94271fc8f0352585ddd6c",
      "subject": "Bug 2067123 - Record and surface policies that only partially applied. r=fluent-reviewers,bolsson,gerard-majax"
    },
    "D322484": {
      "author": "Tim Giles",
      "avatar": "https://www.gravatar.com/avatar/c161a1db8cb12efdac86d88333c527ad?d=identicon\u0026s=64",
      "cl": "D322484",
      "clUrl": "https://phabricator.services.mozilla.com/D322484",
      "description": "Emit `theme_picker.shown`to unblock HNT in Bug 2066344.\n`ThemePicker.shown()` should be called from the consumer once a theme\npicker is visible.\n\nCurrently `ThemePickerChild.shown` records at most one event per actor.\nThis prevents repeated customize-panel openings from inflating the count\nwhile also allowing separate tabs and windows to record their own event.\nThis is because we currently want to know if a theme picker was\ninteracted with at all.\n\nWe handle the deduplication in the actor rather than a chrome theme\nmodule. This allows us to record the event per document instead of per\nbrowser window.\n\n`session` stays unpopulated and will be addressed in a follow up bug.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D322484",
      "email": "tgiles@mozilla.com",
      "hash": "f6ad4a23396bb5a9c19f2c5c602c278c0db4c38b",
      "subject": "Bug 2052547 - Record theme-picker shown telemetry. r=mkennedy,mstriemer,omc-reviewers,mimi"
    },
    "D322510": {
      "author": "Mike Conley",
      "avatar": "https://www.gravatar.com/avatar/4b4985a7acf7db49dfddd7815b55a043?d=identicon\u0026s=64",
      "cl": "D322510",
      "clUrl": "https://phabricator.services.mozilla.com/D322510",
      "description": "Firefox has switched from a 4 week release cadence to a 2 week one, so the\n\"string stability\" window that New Tab relies on shrank from 3 weeks to 2.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D322510",
      "email": "mconley@mozilla.com",
      "hash": "c667ee32f3afb5a6ed84629a8eaace04578812d8",
      "subject": "Bug 2067812 - Update newtab trainhop documentation and update-locales to the 2 week release cadence. r=ini"
    },
    "D322554": {
      "author": "Alex Hochheiden",
      "avatar": "https://www.gravatar.com/avatar/d543df9ea6c80e41387222577084eec1?d=identicon\u0026s=64",
      "cl": "D322554",
      "clUrl": "https://phabricator.services.mozilla.com/D322554",
      "description": "A shared library with an output category puts its directory target in the\ncompile graph under the category's name, which is also the name of the tier\nthat traverses the directory. Two rules then claim that target, and make warns\nthat it is discarding one of them.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D322554",
      "email": "ahochheiden@mozilla.com",
      "hash": "0e79b22f79e8335a4c2ca11cd8b67eb76e9f40f6",
      "subject": "Bug 2067987 - Give a directory target in the compile graph a single recipe r=RyanVM"
    },
    "D322642": {
      "author": "serge-sans-paille",
      "avatar": "https://www.gravatar.com/avatar/9cdfdfc05249440f57269a0d26487253?d=identicon\u0026s=64",
      "cl": "D322642",
      "clUrl": "https://phabricator.services.mozilla.com/D322642",
      "description": "Current algorithm for third party identification iterates over a list of\ndirectory and checks if any of them contains individual files.\n\nThis list is built from tools/rewriting/ThirdPartyPaths.txt, which also\ncontains many directories or files that do not contains any file that\nmatters for clang-tidy.\n\nRemoving those entries leads to much faster third party identification,\nsaving more than 200ms per file for some C++ sources. It saves 0.3% of\nbuild time on spidermonkey.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D322642",
      "email": "sguelton@mozilla.com",
      "hash": "d63f5809f68189ebad5405836b8bd5e4c2572a7b",
      "subject": "Bug 2068128 - Improve generation of white-listed files for clang-tidy r=sylvestre"
    },
    "D322672": {
      "author": "Brian Smith",
      "avatar": "https://www.gravatar.com/avatar/19fc825c4142d25838a4a74d39df9dc7?d=identicon\u0026s=64",
      "cl": "D322672",
      "clUrl": "https://phabricator.services.mozilla.com/D322672",
      "description": "Handlers catches and logs every failure of its own, so nothing reached the\nengine's generic handler and none of it was attributed to the policy. Its\nloops and processMIMEInfo now report through reportFailure, so one bad MIME\ntype, extension or scheme names the entry that failed instead of failing\nsilently. processMIMEInfo takes the policy it is working for, since\nDisableBuiltinPDFViewer calls it too.\n\n\"Probable type mismatch\" was a guess that covered every way setting a\npreference can fail. describePreferenceFailure sits next to setAndLockPref,\nthe call whose failure it explains, and reports the type the preference\ntakes against the type the policy provided, whole numbers, and otherwise the\nunderlying error.\n\nWith PoliciesHelpers failures now attributed to a policy, about:policies no\nlonger needs to list it as a module whose log messages go in the Errors tab.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D322672",
      "email": "brian@smith.berlin",
      "hash": "c6bac48c25adacb20339375b1666e1af0c4d3d32",
      "subject": "Bug 2067123 - Name the Handlers entry that failed and say why a preference could not be set. r=gerard-majax"
    },
    "D322728": {
      "author": "Tymur Boiko",
      "avatar": "https://www.gravatar.com/avatar/e5455cbc9ccf5951783c79fc29beda3c?d=identicon\u0026s=64",
      "cl": "D322728",
      "clUrl": "https://phabricator.services.mozilla.com/D322728",
      "description": "InitVulkanDecoder skips Vulkan when modeset is off; that sysfs file was\ndenied in the RDD broker, so the check never ran.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D322728",
      "email": "tboiko@nvidia.com",
      "hash": "cbd9996e5bd0ad2438856c4c828e679de29371bb",
      "subject": "Bug 2067923 - Allow RDD to read nvidia_drm modeset. r=jld,sandbox-reviewers"
    },
    "D322763": {
      "author": "Byron Campen",
      "avatar": "https://www.gravatar.com/avatar/3e201149abea356acc9bb6f0eea8b5a0?d=identicon\u0026s=64",
      "cl": "D322763",
      "clUrl": "https://phabricator.services.mozilla.com/D322763",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D322763",
      "email": "docfaraday@gmail.com",
      "hash": "346363324cc0148bac5435401d982f0635e86c28",
      "subject": "Bug 2068159: Test that the DTMF playout task is queued immediately when required. r=ng"
    },
    "D322764": {
      "author": "Byron Campen",
      "avatar": "https://www.gravatar.com/avatar/3e201149abea356acc9bb6f0eea8b5a0?d=identicon\u0026s=64",
      "cl": "D322764",
      "clUrl": "https://phabricator.services.mozilla.com/D322764",
      "description": "* Queue a playout task immediately in situations where we previously\n  scheduled a timer of duration 0.\n\n* Check CanSendDTMF properly in the playout steps task (this means we\n  don't need to fire events at RTCRtpSender anymore).\n\n* Add spec steps as comments.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D322764",
      "email": "docfaraday@gmail.com",
      "hash": "8db4326a67580a02fe262e310baf3191dbade63a",
      "subject": "Bug 2068159: Tighten up spec compliance in InsertDTMF. r=ng"
    },
    "D322831": {
      "author": "James Teh",
      "avatar": "https://www.gravatar.com/avatar/749580f8bd5af77c57367e6c2717e283?d=identicon\u0026s=64",
      "cl": "D322831",
      "clUrl": "https://phabricator.services.mozilla.com/D322831",
      "description": "We already get notified via DocAccessible::ElementStateChanged when the DOM READWRITE state changes, which happens for both contentEditable and EditContext.\nREADWRITE is set on all descendants, not just the root.\nThat's great for the Accessible editable state, which should be exposed on the node and its descendants.\nIn contrast, the focusable state should only be exposed on the root of an editor.\nFor contentEditable, we handle the focusable change in LocalAccessible::AttributeChangesState (which utilises AttributeWillChanged and AttributeChanged), but there's currently no such abstraction for properties like editContext.\nThe EditContext has already been detached once DocAccessible::ElementStateChanged is called to notify us about the removal of the READWRITE state, so we can't handle it there, since we can't tell which element is the root of the EditContext.\nThus, we must add an nsAccessibilityService hook in nsGenericHTMLElement::SetEditContext.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D322831",
      "email": "jteh@mozilla.com",
      "hash": "bf5224d95236d2502bf9a48a05469660cc6c0963",
      "subject": "Bug 2068390: Fire an accessibility focusable state change event when an EditContext is attached or detached. r=ltenenbaum,accessibility-platform-reviewers,eeejay"
    },
    "D322870": {
      "author": "Florian Quèze",
      "avatar": "https://www.gravatar.com/avatar/0ffa237c82d28773736b6c9688b404e3?d=identicon\u0026s=64",
      "cl": "D322870",
      "clUrl": "https://phabricator.services.mozilla.com/D322870",
      "description": "A remote browser has a 0x0 viewport until we reflow it and send\nUpdateDimensions, so a caller that synthesizes input as soon as\nopenNewForegroundTab resolves can hit test against an empty area, and the event\nresolves to the document rather than to an element.\n\nThe wait runs alongside the load, so it only costs anything when nothing else\nalready waited for a tick.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D322870",
      "email": "florian@queze.net",
      "hash": "17868e9d509245fe803177ceb9bd0c6a85cc7050",
      "subject": "Bug 1970802 - Wait for the new tab to be reflowed in openNewForegroundTab, r=Gijs."
    },
    "D322878": {
      "author": "Dão Gottwald",
      "avatar": "https://www.gravatar.com/avatar/45dfe136efbb8e5f89eb0b21775ab195?d=identicon\u0026s=64",
      "cl": "D322878",
      "clUrl": "https://phabricator.services.mozilla.com/D322878",
      "description": "An optional boolean is falsy when absent and an optional object is not there at all, so spelling those defaults out restates the brackets. Which of them the destructuring declares is arbitrary - one method declares a skip flag's `false` beside a bare sibling - and mirroring that would put the arbitrariness on the generated page. What a reader cannot guess is a default that is neither: one flag defaults to on, and three are computed by the callee, which the descriptions now say.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D322878",
      "email": "dao@mozilla.com",
      "hash": "10c6672b1ab04a49705d7b0aaf0b679563f7c8cf",
      "subject": "Bug 2068511 - Document the option defaults a caller would not guess. r=kcochrane,tabbrowser-reviewers"
    },
    "D322879": {
      "author": "Dão Gottwald",
      "avatar": "https://www.gravatar.com/avatar/45dfe136efbb8e5f89eb0b21775ab195?d=identicon\u0026s=64",
      "cl": "D322879",
      "clUrl": "https://phabricator.services.mozilla.com/D322879",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D322879",
      "email": "dao@mozilla.com",
      "hash": "f2f0fd970efffe8b5ed0ecc2e6366645e7c0548c",
      "subject": "Bug 2068511 - Rename the tabbrowser's remaining aOptions and aParams bags to options. r=kcochrane,tabbrowser-reviewers"
    },
    "D322880": {
      "author": "Dão Gottwald",
      "avatar": "https://www.gravatar.com/avatar/45dfe136efbb8e5f89eb0b21775ab195?d=identicon\u0026s=64",
      "cl": "D322880",
      "clUrl": "https://phabricator.services.mozilla.com/D322880",
      "description": "They are the three whose option bags the previous commit renames; the other four it touches were already documented. `#setTabLabel` destructures exactly the three properties `setInitialTabTitle` now names, so forwarding them individually passes on what the whole bag did. Typing its tab parameter also makes the `_labelIsInitialTitle` it sets visible to the type checker, hence the declaration beside its `_labelIsContentTitle` sibling.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D322880",
      "email": "dao@mozilla.com",
      "hash": "4cbe7df4b97ab71a64269cb100ac7b0e2cf1ee74",
      "subject": "Bug 2068511 - Document three public methods that had no JSDoc at all. r=kcochrane,tabbrowser-reviewers"
    },
    "D322884": {
      "author": "Leo Tenenbaum",
      "avatar": "https://www.gravatar.com/avatar/191826fbebe3973ebd6d6eb595ddb5c2?d=identicon\u0026s=64",
      "cl": "D322884",
      "clUrl": "https://phabricator.services.mozilla.com/D322884",
      "description": "These were added in bug 1272501 and are now recorded directly through Glean,\nso the Legacy Telemetry mirror is no longer needed.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D322884",
      "email": "ltenenbaum@mozilla.com",
      "hash": "d97095800d7e48965f401ec1c433e04315abaf5b",
      "subject": "Bug 2068538 - Remove the Legacy Telemetry mirrors of dom.webkit_directory_used and dom.blink_filesystem_used. r=smaug,dom-core-reviewers,janerik"
    },
    "D322894": {
      "author": "Dimi",
      "avatar": "https://www.gravatar.com/avatar/bd10912fd8637cc64f00edd465ca8b0d?d=identicon\u0026s=64",
      "cl": "D322894",
      "clUrl": "https://phabricator.services.mozilla.com/D322894",
      "description": "The ML model is not equally reliable for every field type. Credit card expiry\nfields are a known case where the regexp heuristics do better, but until now\nthe only way to avoid a bad prediction for one field type was to turn ML off\nfor the whole form.\n\nAdd extensions.formautofill.useml.ignoreFieldTypes, a comma separated list of\nthe field types the model is not trusted with. Those types are left to the\nregexp heuristics, and the model goes on classifying the rest of the form.\n\nThe list gets a Nimbus feature of its own, autofill-ml-ignore-field-types,\nrather than a variable of autofill-ml, so that moving a field type back to the\nregexp heuristics does not have to wait for, or collide with, an autofill-ml\nenrollment.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D322894",
      "email": "dlee@mozilla.com",
      "hash": "463fd894a30e4d1ebf42df477ac99c45de34db33",
      "subject": "Bug 2068497 - Support per-field-type fallback from the ML model to the regexp heuristic. r=rrando"
    },
    "D322897": {
      "author": "Valentin Pollet",
      "avatar": "https://www.gravatar.com/avatar/ec6bbf3c5be00645b45d5aac7ae9923c?d=identicon\u0026s=64",
      "cl": "D322897",
      "clUrl": "https://phabricator.services.mozilla.com/D322897",
      "description": "A short window in the \"single-producer single-consumer\" queue owned by LlamaGenerateTask allowed consumers to hang on a promise that was never resolved. A mutex now guards against that window by making sure sequences of operations done by the consumer and the producer are atomic.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D322897",
      "email": "vpollet@mozilla.com",
      "hash": "7b22e8e2daa926ef51e29237e9aceac674975392",
      "subject": "Bug 2049666 - Fixed hang in LlamaGenerateTask  r=ai-platform-reviewers,jbowser"
    },
    "D322926": {
      "author": "longsonr",
      "avatar": "https://www.gravatar.com/avatar/c5d912dac5c74b47bbaff7164f5f8bb8?d=identicon\u0026s=64",
      "cl": "D322926",
      "clUrl": "https://phabricator.services.mozilla.com/D322926",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D322926",
      "email": "longsonr@gmail.com",
      "hash": "3323bdf55a0f06aa69e5872a55b37f3ee564755c",
      "subject": "Bug 2068445 - Detach canvas observer when we reassign the filter r=dholbert"
    },
    "D322930": {
      "author": "Lars Eggert",
      "avatar": "https://www.gravatar.com/avatar/e2e26bbe3cdc5a67429cb25e2557fd11?d=identicon\u0026s=64",
      "cl": "D322930",
      "clUrl": "https://phabricator.services.mozilla.com/D322930",
      "description": "Add a cancellation flag to js::FrontendContext, polled where the frontend\nstarts on a script, a function or its bytecode, so that a cancelled\nStencilCompileOrDecodeTask aborts instead of finishing work whose result is\ndiscarded. Decode and wasm compilation have no poll points.\n\nThis saves CPU cycles on pages which cancel compiles.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D322930",
      "email": "lars@eggert.org",
      "hash": "7c8b91d6d8b4f00fb78732ccb69891ea8bfd35cb",
      "subject": "Bug 2068540 - Abort off-thread script compilation when the request is cancelled. r=arai,spidermonkey-reviewers"
    },
    "D322964": {
      "author": "Randell Jesup",
      "avatar": "https://www.gravatar.com/avatar/707a3249883bc1c42dbd54339c8daf44?d=identicon\u0026s=64",
      "cl": "D322964",
      "clUrl": "https://phabricator.services.mozilla.com/D322964",
      "description": "Read the data and hand it to do_OnDataAvailable() when a bounce is\nneeded; keep the direct pass-through otherwise.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D322964",
      "email": "rjesup@mozilla.com",
      "hash": "3c4e44c12d9668b04b505f279ec1cb526a9e93b7",
      "subject": "Bug 2068378 - Dispatch pass-through OnDataAvailable to the main thread in nsHTTPCompressConv r=necko-reviewers,valentin"
    },
    "D322969": {
      "author": "Nicolas Silva",
      "avatar": "https://www.gravatar.com/avatar/a375423648d373880fdd9e4eccc6b920?d=identicon\u0026s=64",
      "cl": "D322969",
      "clUrl": "https://phabricator.services.mozilla.com/D322969",
      "description": "It was assigned the root reference frame and never read. The TODO on it about\nswitching to raster space described work that doesn't need doing: the prepare\npass has no consumer for a visibility spatial node.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D322969",
      "email": "nsilva@mozilla.com",
      "hash": "dfca3ebdb78e049fcc60d2fef128b88c11c11778",
      "subject": "Bug 2068160 - Part 1 - Remove the write-only PictureContext visibility spatial node. r=gw"
    },
    "D322970": {
      "author": "Nicolas Silva",
      "avatar": "https://www.gravatar.com/avatar/a375423648d373880fdd9e4eccc6b920?d=identicon\u0026s=64",
      "cl": "D322970",
      "clUrl": "https://phabricator.services.mozilla.com/D322970",
      "description": "TileCacheInstance::pre_update accumulated the union of visible tiles' device\nrects and returned it; update_prim_visibility took it as root_culling_rect and\nonly ever forwarded it to its own recursive call. Nothing consumed it, so the\noptimization the comment described - skipping primitives outside the visible\ntiles, and shrinking off-screen surfaces allocated for child pictures - did not\nhappen. A tile cache surface's culling rect is the whole screen rect for the\nduration of the frame, set once by SurfaceInfo::new.\n\nRemoving it rather than wiring it up, since wiring it up changes what gets\nculled and belongs in its own patch with its own measurements.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D322970",
      "email": "nsilva@mozilla.com",
      "hash": "39ae5d9140e995c82a75d617550e8d7ab00107db",
      "subject": "Bug 2068160 - Part 2 - Remove the tile cache's unused visible-tile culling rect. r=gw"
    },
    "D322971": {
      "author": "Nicolas Silva",
      "avatar": "https://www.gravatar.com/avatar/a375423648d373880fdd9e4eccc6b920?d=identicon\u0026s=64",
      "cl": "D322971",
      "clUrl": "https://phabricator.services.mozilla.com/D322971",
      "description": "PictureState::map_pic_to_vis had one consumer: the HIGHLIGHT_BACKDROP_FILTERS\noverlay, which cast its result to a device rect and pushed it as a debug item.\nDebug items are drawn onto the screen framebuffer, so that mapping wants root\nspace rather than the visibility space its name suggested, and the TODO about\nswitching it to raster space would have broken it.\n\ntake_context already built an identical root-relative mapper for the picture\nbounds, differing only in its projection bounds, so keep that one and drop the\nduplicate.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D322971",
      "email": "nsilva@mozilla.com",
      "hash": "4cf52c66f4cb5f2550a7e73b30dd274e516a9b82",
      "subject": "Bug 2068160 - Part 3 - Map backdrop-filter debug rects to device space directly. r=gw"
    },
    "D322972": {
      "author": "Nicolas Silva",
      "avatar": "https://www.gravatar.com/avatar/a375423648d373880fdd9e4eccc6b920?d=identicon\u0026s=64",
      "cl": "D322972",
      "clUrl": "https://phabricator.services.mozilla.com/D322972",
      "description": "A cast_unit helper with no callers anywhere in gfx/wr.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D322972",
      "email": "nsilva@mozilla.com",
      "hash": "76cfa5ba07b4b1db48fd390db494e49c5e7f0181",
      "subject": "Bug 2068160 - Part 4 - Remove the unused vis_rect_as_world shim. r=gw"
    },
    "D322973": {
      "author": "Nicolas Silva",
      "avatar": "https://www.gravatar.com/avatar/a375423648d373880fdd9e4eccc6b920?d=identicon\u0026s=64",
      "cl": "D322973",
      "clUrl": "https://phabricator.services.mozilla.com/D322973",
      "description": "Introduces surface::visibility_node(), which every site that needs the space\nvisibility, clipping, dirty-region and invalidation calculations happen in now\ngoes through. It still returns the root reference frame, so there is no\nbehaviour change; the point is that there is now exactly one place to change.\n\nThe tile cache had a second, divergent source for the same decision: a\nscene-build-time visibility_node_index threaded from the slice builder through\nTileCacheParams into TileCacheInstance, where the field was never read and the\nDirtyRegion built from it was re-targeted every frame by post_update, which\ncomputed the root itself. Resolve the tile cache's visibility node per frame in\npre_update from its surface instead, which makes the field live and removes the\nscene-time plumbing. A scene-time value could not have followed a surface's\nraster space anyway, since that is decided per frame in assign_surface.\n\nDirtyRegion now starts each instance's life pointing at INVALID rather than the\nroot, with a debug assertion in add_dirty_region, so that a region used before\npost_update targets it fails loudly instead of silently mapping to the root.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D322973",
      "email": "nsilva@mozilla.com",
      "hash": "dbe6ac1c58a01b4b2ebb1d3f85e07df4078eb873",
      "subject": "Bug 2068160 - Part 5 - Single-source the choice of visibility spatial node. r=gw"
    },
    "D322984": {
      "author": "Byron Campen",
      "avatar": "https://www.gravatar.com/avatar/3e201149abea356acc9bb6f0eea8b5a0?d=identicon\u0026s=64",
      "cl": "D322984",
      "clUrl": "https://phabricator.services.mozilla.com/D322984",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D322984",
      "email": "docfaraday@gmail.com",
      "hash": "c40e18acbf07081a1d8ecd71b76f1b60f0c6e09c",
      "subject": "Bug 2068401: Make this function a no-op on failure. r=mjf"
    },
    "D322986": {
      "author": "Max Inden",
      "avatar": "https://www.gravatar.com/avatar/ec7202f5ae48eecc36b07aaa371fab12?d=identicon\u0026s=64",
      "cl": "D322986",
      "clUrl": "https://phabricator.services.mozilla.com/D322986",
      "description": "v1.0.0 adds by-name connection modes: NetworkConfig gains a resolution field\n(ResolutionMode::ByIp, ByName, ByNameWithHttpsRr) to connect to the origin by\nhostname instead of racing resolved addresses. Firefox keeps the default ByIp,\nso behavior is unchanged.\n\nEndpoint::address became Endpoint::target, an EndpointTarget enum, with an\nEndpoint::address() accessor returning Option\u003cSocketAddr\u003e. Adapt the glue:\ntreat a missing address, which only the by-name modes can produce, as no\nevent.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D322986",
      "email": "mail@max-inden.de",
      "hash": "46b0d1f15fe3e7f9c7ce605a90ef605bdd0c92f0",
      "subject": "Bug 2068658 - Update happy-eyeballs to v1.0.0 r=kershaw,necko-reviewers"
    },
    "D322988": {
      "author": "kpatenio",
      "avatar": "https://www.gravatar.com/avatar/3ba00bb99f41523d041bb1e150ee7de4?d=identicon\u0026s=64",
      "cl": "D322988",
      "clUrl": "https://phabricator.services.mozilla.com/D322988",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D322988",
      "email": "kpatenio@mozilla.com",
      "hash": "d59cc74d6431ceb2ac5309d1d10e03505d7dbf72",
      "subject": "Bug 2063216 - fix inconsistent bookmark folder node radius for Nova, improve folder icon alignment r=nsharpley"
    },
    "D322997": {
      "author": "Dão Gottwald",
      "avatar": "https://www.gravatar.com/avatar/45dfe136efbb8e5f89eb0b21775ab195?d=identicon\u0026s=64",
      "cl": "D322997",
      "clUrl": "https://phabricator.services.mozilla.com/D322997",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D322997",
      "email": "dao@mozilla.com",
      "hash": "f9525a8c3c64435a5430b6a3f1c6b72e076255c3",
      "subject": "Bug 2063281 - Let content alert, confirm, and prompt dialogs use content's preferred color scheme. r=tabbrowser-reviewers,nsharpley"
    },
    "D322999": {
      "author": "Dão Gottwald",
      "avatar": "https://www.gravatar.com/avatar/45dfe136efbb8e5f89eb0b21775ab195?d=identicon\u0026s=64",
      "cl": "D322999",
      "clUrl": "https://phabricator.services.mozilla.com/D322999",
      "description": "No string id change since casing rules are language specific.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D322999",
      "email": "dao@mozilla.com",
      "hash": "c0557b0b1035ebc9ecc444f1144a820127cbf39b",
      "subject": "Bug 2068663 - Fix \"Pick a Search Engine\" to use sentence casing instead. r=fluent-reviewers,bolsson"
    },
    "D323017": {
      "author": "Leo Tenenbaum",
      "avatar": "https://www.gravatar.com/avatar/191826fbebe3973ebd6d6eb595ddb5c2?d=identicon\u0026s=64",
      "cl": "D323017",
      "clUrl": "https://phabricator.services.mozilla.com/D323017",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D323017",
      "email": "ltenenbaum@mozilla.com",
      "hash": "d9a41916fb5f1df54fb9131cf372a4ae1bc0d372",
      "subject": "Bug 2067629 - Include popover invoker children/shadow root in sequential focus navigation. r=edgar"
    },
    "D323051": {
      "author": "Anna Kulyk",
      "avatar": "https://www.gravatar.com/avatar/2c28c953ecebb4b478e4cd8e21ab56ff?d=identicon\u0026s=64",
      "cl": "D323051",
      "clUrl": "https://phabricator.services.mozilla.com/D323051",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D323051",
      "email": "akulyk@mozilla.com",
      "hash": "51e4be1a209cb5da5c60e29d68ed7aefe3df0a32",
      "subject": "Bug 2050501 - Update \"Close\" button type in sidebar-panel-header r=sfoster"
    },
    "D323054": {
      "author": "Marco Bonardo",
      "avatar": "https://www.gravatar.com/avatar/06a01db28e1c2c2e9d5cd9dd5c4110d8?d=identicon\u0026s=64",
      "cl": "D323054",
      "clUrl": "https://phabricator.services.mozilla.com/D323054",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D323054",
      "email": "mbonardo@mozilla.com",
      "hash": "50293a1961fb0bc653e0cc7a43a7736a71797080",
      "subject": "Bug 2054767. r=Standard8"
    },
    "D323085": {
      "author": "Brad Werth",
      "avatar": "https://www.gravatar.com/avatar/c761ac891092decbd5ee9d198e73e227?d=identicon\u0026s=64",
      "cl": "D323085",
      "clUrl": "https://phabricator.services.mozilla.com/D323085",
      "description": "This collapses two if blocks into one, requesting a D3D11 backend, and\nfalling back to default if not available.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D323085",
      "email": "bwerth@mozilla.com",
      "hash": "1c8b7eab2a4b6273d3a120e05e0b24b03b8d214c",
      "subject": "Bug 2065329: Make EGL stop requesting a D3D9 angle backend, which is never available. r=gfx-reviewers,lsalzman"
    },
    "D323113": {
      "author": "Micah Killoran",
      "avatar": "https://www.gravatar.com/avatar/917b1186aad4798d910d24f25629d145?d=identicon\u0026s=64",
      "cl": "D323113",
      "clUrl": "https://phabricator.services.mozilla.com/D323113",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D323113",
      "email": "mtigley@mozilla.com",
      "hash": "229cb54bb92d6ca3c76ef81d05f42f70f1c5962c",
      "subject": "Bug 2066568 - Reduce autocomplete row item icons back to --icon-size. r=desktop-theme-reviewers,credential-management-reviewers,kcochrane,dao,dimi"
    },
    "D323120": {
      "author": "Iain Ireland",
      "avatar": "https://www.gravatar.com/avatar/1243fc5f2c1c56a2f77ca1be38837e68?d=identicon\u0026s=64",
      "cl": "D323120",
      "clUrl": "https://phabricator.services.mozilla.com/D323120",
      "description": "Marking the testcase --slow because it takes 7+ minutes on my laptop in an opt-debug build.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D323120",
      "email": "iireland@mozilla.com",
      "hash": "b20bf0dd50fce8cdcee713389ba0fdf2aaa20875",
      "subject": "Bug 2068385: Don't support sparse arrays in SpreadMathMinMax r=spidermonkey-reviewers,jandem"
    },
    "D323128": {
      "author": "Dana Keeler",
      "avatar": "https://www.gravatar.com/avatar/72636a193847f1a9c45521d07eb0dc6e?d=identicon\u0026s=64",
      "cl": "D323128",
      "clUrl": "https://phabricator.services.mozilla.com/D323128",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D323128",
      "email": "dkeeler@mozilla.com",
      "hash": "ee451fae4b96b5d4a848908b0e93771b66a27bab",
      "subject": "Bug 2068792 - ensure proper spacing after notices in about:preferences search r=hjones,desktop-theme-reviewers"
    },
    "D323132": {
      "author": "Justin Link",
      "avatar": "https://www.gravatar.com/avatar/4b75dd04ceee538ae257b9379376c643?d=identicon\u0026s=64",
      "cl": "D323132",
      "clUrl": "https://phabricator.services.mozilla.com/D323132",
      "description": "The remainder tail relied on the SLP vectorizer to build a 32-bit coefficient\nsplat, and clang cannot fold a 16-bit load into that, so each of the up to\nseven unrolled taps emitted movzx + vmovd + vpbroadcastd. vpmovzxbd already\nzeroes the odd 16-bit lanes of the pixel vector, so pmaddwd's second product\nterm is always zero and a 16-bit broadcast is sufficient; vpbroadcastw folds\nthe load directly.\n\nWriting the accumulation with intrinsics takes convolve_horizontally_avx2 from\n159 to 145 instructions (the remainder tail from 62 to 48). Nothing else in the\nfunction changes, and the stack frame and spill counts are unaffected.\n\nThe pixel load uses _mm_loadu_si32 except on GCC older than 12, the first\nrelease with a usable one: it is absent in 10.x, and 11.1/11.2 define it as\n_mm_set_epi32(*(int*)P, 0, 0, 0), which does an aligned int load and lands the\nvalue in the high lane instead of the low one (PR99754, fixed by r12-7640 and\non the 11 branch after 11.2). Since the tree still supports GCC 10.1, those\ncompilers take an open-coded memcpy fallback. Both spellings generate the same\nvpmovzxbd with a folded load; I checked the emitted assembly for each.\n\nResults are bit-identical to the scalar form: pmaddwd on values bounded by\n32768*255 cannot overflow int32, and integer addition is associative, so\naccumulating into a local before the final add is exact. Checked over 3M random\ninputs (r in 1..7, random pixels, coefficients including 0 and both int16\nextremes).\n\nOnly the AVX2 copy changes. ConvolutionFilterSSE2.cpp keeps the scalar form\nbecause pmovzxbd is SSE4.1 and the broadcast fold needs AVX2.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D323132",
      "email": "jlink@mozilla.com",
      "hash": "1d42fbce41a5a47c792685ca323194e7fee73581",
      "subject": "Bug 2064917: Fold the coefficient splat in ConvolutionFilterAVX2's AccumRemainder into a single broadcast. r=lsalzman"
    },
    "D323133": {
      "author": "Justin Link",
      "avatar": "https://www.gravatar.com/avatar/4b75dd04ceee538ae257b9379376c643?d=identicon\u0026s=64",
      "cl": "D323133",
      "clUrl": "https://phabricator.services.mozilla.com/D323133",
      "description": "FilterForValue runs once per output pixel in the horizontal convolution\nkernels. Both fFilters[valueOffset] and fFilterValues[fDataLocation] went\nthrough mozilla::Vector's bounds-checked operator[], which reloads the vector\nlength and branches on every call. valueOffset is always in\n[0, numValues()) == fFilters.length(), and fDataLocation is set to a valid\nindex by AddFilter, so index the raw pointer with begin()[] instead and guard\nboth invariants with MOZ_ASSERT in debug builds.\n\nThis removes both bounds-check thunks from convolve_horizontally_avx2\n(149 -\u003e 134 instructions) and, on a hot-cache Lanczos3 2048-\u003e1024 horizontal\ndownscale microbenchmark, is ~6% faster (5.05 -\u003e 4.74 ns/output-pixel). The\nchange is in shared code, so it applies to the scalar, SSE2, AVX2 and NEON\nhorizontal paths. Pushed to try to measure the end-to-end decode impact.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D323133",
      "email": "jlink@mozilla.com",
      "hash": "c34751174a609d00c3e37e8f97ef07e1f22ee589",
      "subject": "Bug 2068715: Use unchecked indexing in SkConvolutionFilter1D::FilterForValue r=lsalzman"
    },
    "D323141": {
      "author": "James Teh",
      "avatar": "https://www.gravatar.com/avatar/749580f8bd5af77c57367e6c2717e283?d=identicon\u0026s=64",
      "cl": "D323141",
      "clUrl": "https://phabricator.services.mozilla.com/D323141",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D323141",
      "email": "jteh@mozilla.com",
      "hash": "0443ee2e8600fb9744134765b6873446ac07d87e",
      "subject": "Bug 2067436: Don't allow the viewport cache for non-doc accessibles. r=accessibility-platform-reviewers,eeejay"
    },
    "D323144": {
      "author": "Drew Willcoxon",
      "avatar": "https://www.gravatar.com/avatar/fa60148022a230fe1bacc441549b1c66?d=identicon\u0026s=64",
      "cl": "D323144",
      "clUrl": "https://phabricator.services.mozilla.com/D323144",
      "description": "This fixes the bug and makes two related changes:\n\nImprove the way that space is distributed among the no-wrap (e.g., title), URL,\nand explanation. I made sure this doesn't regress bug 2063457 D318639.\n\nIt's possible for the explanation to appear too close to the URL when the URL\ndoes not overflow and therefore the separator dot before the explanation doesn't\nappear. Fix that by always creating the separator, just make it transparent\nunless the URL does overflow.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D323144",
      "email": "adw@mozilla.com",
      "hash": "5780b59cc2fcdd5f838a51b4cc64b207d7d04906",
      "subject": "Bug 2066922 - Fix urlbar result explanation truncation/overflow and improve how space is distributed among the title, URL, and explanation. r=dao,desktop-theme-reviewers,urlbar-reviewers"
    },
    "D323148": {
      "author": "James Teh",
      "avatar": "https://www.gravatar.com/avatar/749580f8bd5af77c57367e6c2717e283?d=identicon\u0026s=64",
      "cl": "D323148",
      "clUrl": "https://phabricator.services.mozilla.com/D323148",
      "description": "Chromium implements this already.\nIt will be used by Narrator to identify web content; e.g. for navigation boundaries and automatic say all.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D323148",
      "email": "jteh@mozilla.com",
      "hash": "33f9df54d77db6c85d4bc33fdf1172b4099d7b30",
      "subject": "Bug 1949921: Implement the IsWebContentRoot UIA custom property. r=accessibility-platform-reviewers,eeejay"
    },
    "D323152": {
      "author": "Masayuki Nakano",
      "avatar": "https://www.gravatar.com/avatar/900caab146bc7a489b3854cf10acf93f?d=identicon\u0026s=64",
      "cl": "D323152",
      "clUrl": "https://phabricator.services.mozilla.com/D323152",
      "description": "`insertText` command etc may be used during a composition and we need\nto handle them for the backward compatibility and compatibility with\nthe other browsers.\n\nHowever, we should not treat such coming commands as a part of\ncomposition. Therefore, we should make the related methods take\n`InputTextFor` and consider to make an `InsertTextTransaction` for\na text insertion not caused by a composition change.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D323152",
      "email": "masayuki@d-toybox.com",
      "hash": "68689e51f91ae02dfec26a8b3534c700410f8c9b",
      "subject": "Bug 2068442 - Make `EditorBase::InsertTextIntoTextNodeWithTransaction` not use `CompositionTransaction` if it's not caused by a composition change r=m_kato"
    },
    "D323158": {
      "author": "James Teh",
      "avatar": "https://www.gravatar.com/avatar/749580f8bd5af77c57367e6c2717e283?d=identicon\u0026s=64",
      "cl": "D323158",
      "clUrl": "https://phabricator.services.mozilla.com/D323158",
      "description": "This is a pure refactor with no functional change.\nIt extracts the condition used to decide whether an Accessible should fire EVENT_TEXT_VALUE_CHANGE due to changes to its descendants into a reusable helper.\nWe will need this elsewhere in the next patch to decide when to walk up the tree looking for a value-dependent ancestor.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D323158",
      "email": "jteh@mozilla.com",
      "hash": "2c3f48175f8d6ca8f82661158bc375313be5d8bb",
      "subject": "Bug 2051469 part 1: Extract nsAccUtils::ShouldFireValueChangeForDescendantChanges from MaybeNotifyOfValueChange. r=accessibility-platform-reviewers,eeejay"
    },
    "D323159": {
      "author": "James Teh",
      "avatar": "https://www.gravatar.com/avatar/749580f8bd5af77c57367e6c2717e283?d=identicon\u0026s=64",
      "cl": "D323159",
      "clUrl": "https://phabricator.services.mozilla.com/D323159",
      "description": "MaybeNotifyOfValueChange only checked whether the accessible it was given directly fired EVENT_TEXT_VALUE_CHANGE.\nThis accessible is usually the direct hypertext parent of the text that changed.\nThis meant that previously, we didn't fire the event for a combobox when there was an intervening generic between the changed text and the combobox; e.g. a block-level span.\nThis adds an eHasValueDependent context flag, propagated down from a value-notifying ancestor the same way eHasNameDependent and eHasDescriptionDependent already are.\nThis is then used to walk up from the changed accessible to the nearest ancestor whose value might depend on it.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D323159",
      "email": "jteh@mozilla.com",
      "hash": "4fde8d52a1bb4c759f36fbab7a001e9812eb083d",
      "subject": "Bug 2051469 part 2: Fire value change events for combobox values calculated from deeper descendants. r=accessibility-platform-reviewers,eeejay"
    },
    "D323181": {
      "author": "Dão Gottwald",
      "avatar": "https://www.gravatar.com/avatar/45dfe136efbb8e5f89eb0b21775ab195?d=identicon\u0026s=64",
      "cl": "D323181",
      "clUrl": "https://phabricator.services.mozilla.com/D323181",
      "description": "The dismissal-acknowledgment tip is the one result a content-realm view builds itself, because the dismissed result is already out of the query context by then and the tip's row label comes from view state the parent doesn't have. It therefore never crosses the wire, where fromWire skips validation for everything else. Moving the schemas into UrlbarShared wouldn't extend validation to that realm either, since JsonSchemaValidator ships only as a system module.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D323181",
      "email": "dao@mozilla.com",
      "hash": "a173c68ff36d9f9c0b84a7e12ad2c96e7158bb31",
      "subject": "Bug 2068864 - Skip result payload validation in a content realm. r=mbeier"
    },
    "D323189": {
      "author": "Valentin Gosu",
      "avatar": "https://www.gravatar.com/avatar/dedff9d4500fcbc5cdd1cd270f044b33?d=identicon\u0026s=64",
      "cl": "D323189",
      "clUrl": "https://phabricator.services.mozilla.com/D323189",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D323189",
      "email": "valentin.gosu@gmail.com",
      "hash": "1d24cda9b028d57cea5b21f2cc114bfad2602b3e",
      "subject": "Bug 2068114 - Test fast fallback at connection limit r=necko-reviewers,kershaw"
    },
    "D323190": {
      "author": "Valentin Gosu",
      "avatar": "https://www.gravatar.com/avatar/dedff9d4500fcbc5cdd1cd270f044b33?d=identicon\u0026s=64",
      "cl": "D323190",
      "clUrl": "https://phabricator.services.mozilla.com/D323190",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D323190",
      "email": "valentin.gosu@gmail.com",
      "hash": "2997b2c4de23a54655bbade181d927816896e52c",
      "subject": "Bug 2068114 - Don't drop the HTTPS RR fast fallback when the backup connection can't be created r=necko-reviewers,kershaw"
    },
    "D323210": {
      "author": "Gijs Kruitbosch",
      "avatar": "https://www.gravatar.com/avatar/410fad5de3812b3810955d277445bced?d=identicon\u0026s=64",
      "cl": "D323210",
      "clUrl": "https://phabricator.services.mozilla.com/D323210",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D323210",
      "email": "gijskruitbosch@gmail.com",
      "hash": "c86e0776d8922d814159f1ae14a0579eb4061e8b",
      "subject": "Bug 2066675 - Remove the unused customizing-movingItem attribute r=kcochrane"
    },
    "D323227": {
      "author": "Tymur Boiko",
      "avatar": "https://www.gravatar.com/avatar/e5455cbc9ccf5951783c79fc29beda3c?d=identicon\u0026s=64",
      "cl": "D323227",
      "clUrl": "https://phabricator.services.mozilla.com/D323227",
      "description": "When DrmRenderDevice is empty, SelectVulkanDecoderPhysicalDevice caches\nenumeration in sVulkanEnumerated but only wrote the GPU name onto the\nfirst decoder. Later decoders kept \"\" and VulkanDeviceHolder created a\nsecond VkDevice. Cache name/vendor/device IDs process-wide and refuse\nGetOrCreate with an empty name.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D323227",
      "email": "tboiko@nvidia.com",
      "hash": "9f4afdaa9fedca1ccd157b7b82d70a6efb5d46a2",
      "subject": "Bug 2068764 [Linux][Vulkan Video] Reuse cached selected device name across decoders. r=stransky,media-playback-reviewers"
    },
    "D323228": {
      "author": "Emilio Cobos Álvarez",
      "avatar": "https://www.gravatar.com/avatar/1d91d22a4892f16f744b31fd4286144e?d=identicon\u0026s=64",
      "cl": "D323228",
      "clUrl": "https://phabricator.services.mozilla.com/D323228",
      "description": "Much like for background images, if you're messing with the color\nproperty like that we can't guarantee contrast.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D323228",
      "email": "emilio@crisal.io",
      "hash": "0a47378abe6bc909bff2efd09c785bf535d48c8c",
      "subject": "Bug 2067761 - Disable custom select colors for color: transparent. r=mconley"
    },
    "D323232": {
      "author": "Updatebot",
      "avatar": "https://www.gravatar.com/avatar/cd270ac15e761e2d4c08e9c9b7cfecca?d=identicon\u0026s=64",
      "cl": "D323232",
      "clUrl": "https://phabricator.services.mozilla.com/D323232",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D323232",
      "email": "updatebot@mozilla.com",
      "hash": "449a002a02e3bacaa8c59174f09978bf802c54b5",
      "subject": "Bug 2068956 - Update android nightly application-services version bump to a0dafe8407bda1e01477a319adc66ee3036def9a r=release-managers,pascalc"
    },
    "D323281": {
      "author": "Stephen Thompson",
      "avatar": "https://www.gravatar.com/avatar/f7173a41a5f3f5f210e160e79dda5488?d=identicon\u0026s=64",
      "cl": "D323281",
      "clUrl": "https://phabricator.services.mozilla.com/D323281",
      "description": "Targeting general release in Firefox 157.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D323281",
      "email": "sthompson@mozilla.com",
      "hash": "39d12b14509bb4ec88a62d31b5808a34b2b02564",
      "subject": "Bug 2056186 - enable Nova redesign by default in all channels r=nsharpley"
    },
    "D323284": {
      "author": "Julian Seward",
      "avatar": "https://www.gravatar.com/avatar/5edb95922c89f29d92b7febcba5669de?d=identicon\u0026s=64",
      "cl": "D323284",
      "clUrl": "https://phabricator.services.mozilla.com/D323284",
      "description": "Try to avoid unnecessary OOMs in the MIR loop unroller by periodically\nrefreshing the allocator's ballast area.  This was not being done, and could\nlead to OOMs whilst processing functions with many unrollable loops.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D323284",
      "email": "jseward@acm.org",
      "hash": "f3baee9153cb0e835e49af87c07bc7c6f52afa1a",
      "subject": "Bug 2068386 - Try to avoid unnecessary OOMs in the MIR loop unroller.  r=iain."
    },
    "D323296": {
      "author": "Moritz Beier",
      "avatar": "https://www.gravatar.com/avatar/db9378640c16b8cdcfcebed97713987a?d=identicon\u0026s=64",
      "cl": "D323296",
      "clUrl": "https://phabricator.services.mozilla.com/D323296",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D323296",
      "email": "mbeier@mozilla.com",
      "hash": "dc8405094231f4cfba6d719089fd6e7777960633",
      "subject": "Bug 2069028 - Space leaks into urlbar when selecting a search engine with space key. r=urlbar-reviewers,dao"
    },
    "D323298": {
      "author": "Paul Adenot",
      "avatar": "https://www.gravatar.com/avatar/56566788314477c51b94743ea7f68494?d=identicon\u0026s=64",
      "cl": "D323298",
      "clUrl": "https://phabricator.services.mozilla.com/D323298",
      "description": "PHWInference::InstallModel answered with a plain bool, which cannot tell a\ndownload the task's resolver refused - the user dismissing the doorhanger -\nfrom one that was allowed but did not complete. Answer with\nModelInstallResult instead, so a caller can report the two differently.\n\nNo behavior change: the only consumer, PSpeechRecognition::InstallModels,\nstill collapses the answer to a bool.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D323298",
      "email": "paul@paul.cx",
      "hash": "ce4240d71401c684a6e6adb8737133ae73b385bc",
      "subject": "Bug 2069005 - Report whether a model install was refused or failed. r=media-playback-reviewers,alwu"
    },
    "D323299": {
      "author": "Paul Adenot",
      "avatar": "https://www.gravatar.com/avatar/56566788314477c51b94743ea7f68494?d=identicon\u0026s=64",
      "cl": "D323299",
      "clUrl": "https://phabricator.services.mozilla.com/D323299",
      "description": "Carry ModelInstallResult over PSpeechRecognition::InstallModels as well, and\nsplit the request itself out of Install() as SpeechRecognitionBackend::\nInstallModels(), so a caller that is not backing a DOM promise can make it.\n\ninstall() still resolves false either way; a refusal is only reported\ndifferently in the next patch.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D323299",
      "email": "paul@paul.cx",
      "hash": "46feb341fbce9b5e434f25dd6e95f00d33263867",
      "subject": "Bug 2069005 - Report a refused model install to the content process. r=media-playback-reviewers,alwu"
    },
    "D323300": {
      "author": "Paul Adenot",
      "avatar": "https://www.gravatar.com/avatar/56566788314477c51b94743ea7f68494?d=identicon\u0026s=64",
      "cl": "D323300",
      "clUrl": "https://phabricator.services.mozilla.com/D323300",
      "description": "Everything start() needs to bring a session up - the track, the caller type,\nthe effective language, the graph rate and the phrases - becomes a\nPendingSession that BeginSession() starts from, so that the next patch can\ndelay that half without touching it.\n\nThe [[started]] bookkeeping now happens before the backend is created rather\nthan after, so a backend that fails to be created (its thread could not be\nspawned) ends the session with \"error\" and \"end\" instead of \"error\" alone.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D323300",
      "email": "paul@paul.cx",
      "hash": "f5578e65a9ccca1bf2073c3eea9235d3b1e88661",
      "subject": "Bug 2069005 - Split the second half of start() into BeginSession(). r=media-playback-reviewers,alwu"
    },
    "D323301": {
      "author": "Paul Adenot",
      "avatar": "https://www.gravatar.com/avatar/56566788314477c51b94743ea7f68494?d=identicon\u0026s=64",
      "cl": "D323301",
      "clUrl": "https://phabricator.services.mozilla.com/D323301",
      "description": "start() required the on-device model for its language to already be\ninstalled, and failed the session with service-not-allowed otherwise. Pages\npredating install() - which is every page using this API today - only ever\ncall start(), so offer to download the model instead, and begin the session\nonce it is there.\n\nThe install is waited on before the backend is created and before the\nmicrophone is touched, so no event, \"start\" included, fires until the model\nis installed: the session merely starts later. A refused download ends the\nsession with not-allowed, like a refused microphone, and a download that\nfails with network. stop()/abort() during the wait end the session with\n\"end\" alone, and mSessionGeneration is what tells the pending continuation\nthat it no longer speaks for the current session.\n\nWith no language there is no model to ask for, so this only applies when\nstart() determined one. Controlled by\nmedia.webspeech.recognition.install_on_start.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D323301",
      "email": "paul@paul.cx",
      "hash": "8d42b83d0bd3612734e96b82870b449c3d6a79d5",
      "subject": "Bug 2069005 - Offer to install the model when start() needs one. r=media-playback-reviewers,alwu"
    },
    "D323302": {
      "author": "Paul Adenot",
      "avatar": "https://www.gravatar.com/avatar/56566788314477c51b94743ea7f68494?d=identicon\u0026s=64",
      "cl": "D323302",
      "clUrl": "https://phabricator.services.mozilla.com/D323302",
      "description": "Covers both outcomes of the download prompt start() now shows: refused ends\nthe session with not-allowed and no other event, allowed installs the model\nand fires \"start\".\n\nDifferential Revision: https://phabricator.services.mozilla.com/D323302",
      "email": "paul@paul.cx",
      "hash": "57a96d5f44307769b4084b6f8523a5b07afe6719",
      "subject": "Bug 2069005 - Add a mochitest for installing a model from start(). r=media-playback-reviewers,alwu"
    },
    "D323303": {
      "author": "Paul Adenot",
      "avatar": "https://www.gravatar.com/avatar/56566788314477c51b94743ea7f68494?d=identicon\u0026s=64",
      "cl": "D323303",
      "clUrl": "https://phabricator.services.mozilla.com/D323303",
      "description": "gen_combos.py cross combines a single colour space name into primaries,\ntransfer and matrix, so the generated corpus cannot express BT.2100 PQ or HLG,\nor wide gamut SDR. Those are the cases where a decoder has to report a transfer\nfunction that is not implied by the primaries, which is what the macOS\nVideoToolbox path gets wrong.\n\nAdd a second, explicit set of combinations for those, signalled through\nx265-params and svtav1-params so the values land in the bitstream rather than\nonly in the container, plus HEVC, which is the codec VideoToolbox most reliably\ndecodes in hardware on macOS and which the corpus had no coverage of at all.\n\nThe samples are transfer converted with zscale rather than merely tagged, so\nregenerating them needs an ffmpeg built with libzimg. Within a combination the\nsamples are identical across codecs, so codec to codec comparisons isolate the\ncontainer and decoder rather than the encode.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D323303",
      "email": "paul@paul.cx",
      "hash": "3e3f1c26c5dd7febbde495066ef5af10d42a77b1",
      "subject": "Bug 2068961 - Add colour metadata test videos with explicit transfer functions. r=media-playback-reviewers,ahale,azebrowski"
    },
    "D323304": {
      "author": "Paul Adenot",
      "avatar": "https://www.gravatar.com/avatar/56566788314477c51b94743ea7f68494?d=identicon\u0026s=64",
      "cl": "D323304",
      "clUrl": "https://phabricator.services.mozilla.com/D323304",
      "description": "Exhaustive over the cross product of transfer function and colour primaries,\nbecause the rule is a pure function of those two and the combinations codecs\nhappen to emit are only a subset of what has to be right.\n\nPlus one end to end check per side, decoding through VideoToolbox in process\nand inspecting the IOSurface the compositor would receive: an SDR frame keeps\nthe colorspace VideoToolbox gave it, and a PQ frame still gets an explicit one.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D323304",
      "email": "paul@paul.cx",
      "hash": "6c455079a76a5703dc474b502bd20e7ad06337ba",
      "subject": "Bug 2068961 - Test the colorspace attached to VideoToolbox decoded frames. r=ahale"
    },
    "D323305": {
      "author": "Paul Adenot",
      "avatar": "https://www.gravatar.com/avatar/56566788314477c51b94743ea7f68494?d=identicon\u0026s=64",
      "cl": "D323305",
      "clUrl": "https://phabricator.services.mozilla.com/D323305",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D323305",
      "email": "paul@paul.cx",
      "hash": "a4f192aa6d645b55eab6f746055d414eedebf0a8",
      "subject": "Bug 2068961 - Only override the VideoToolbox buffer colorspace for wide gamut and HDR content. r=media-playback-reviewers,ahale,azebrowski"
    },
    "D323306": {
      "author": "Andrea Marchesini",
      "avatar": "https://www.gravatar.com/avatar/dfb8d0427dd67216b2664131a5c31421?d=identicon\u0026s=64",
      "cl": "D323306",
      "clUrl": "https://phabricator.services.mozilla.com/D323306",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D323306",
      "email": "amarchesini@mozilla.com",
      "hash": "44e2c45ec5ee99d1ee818b815d3113d78c479751",
      "subject": "Bug 2065703 - Always restore logins from the deactivated Rust store r=credential-management-reviewers,joschmidt"
    },
    "D323307": {
      "author": "Tom Ritter",
      "avatar": "https://www.gravatar.com/avatar/6822db445808be789b12cfae22d118dc?d=identicon\u0026s=64",
      "cl": "D323307",
      "clUrl": "https://phabricator.services.mozilla.com/D323307",
      "description": "The fingerprinting-protection and baseline-fpp features gated every value\nbehind a single flag (enabled / feat-enabled) and gave each variable a\nnon-null manifest default. A recipe that tripped the gate to experiment on\none field -- fdlibm-math, say -- therefore also wrote the manifest defaults\nover the others, silently replacing the user's settings. baseline-fpp was\nthe worse of the two, since its enabled default is true. There was no way\nfor a recipe to say \"I have no opinion about this field\".\n\nMake the per-value variables Option\u003c...\u003e defaulting to null and apply each\none independently, only when the recipe supplies it. The gate variables are\nkept so existing recipes still parse, but are no longer read.\n\nApplying the values is extracted into two small functions so the behaviour\ncan be unit tested; Core builds the whole engine and is not testable as is.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D323307",
      "email": "tom@mozilla.com",
      "hash": "a5ff9e758b478df944949eae1addc1638490e62c",
      "subject": "Bug 2054143 - Let Nimbus fingerprinting-protection recipes leave values unset r=gmalekpour,android-reviewers"
    },
    "D323314": {
      "author": "Kelly Cochrane",
      "avatar": "https://www.gravatar.com/avatar/f989c265f3463d5df9e699d0dca074b0?d=identicon\u0026s=64",
      "cl": "D323314",
      "clUrl": "https://phabricator.services.mozilla.com/D323314",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D323314",
      "email": "kcochrane@mozilla.com",
      "hash": "cdb867f942afb533b64ea532a3e06de862717e61",
      "subject": "Bug 2059402 - Update padding-block for panel items in compact mode r=desktop-theme-reviewers,mkennedy,emilio"
    },
    "D323319": {
      "author": "Dão Gottwald",
      "avatar": "https://www.gravatar.com/avatar/45dfe136efbb8e5f89eb0b21775ab195?d=identicon\u0026s=64",
      "cl": "D323319",
      "clUrl": "https://phabricator.services.mozilla.com/D323319",
      "description": ":-moz-locale-dir() is a document-state pseudo-class, and Document::IsDocumentRightToLeft() returns false for anything but a chrome document, so those rules are inert in about:newtab, which links the same sheet through UrlbarInputBase. :dir() reads the dir attribute DOMLocalization puts on the root, and browser.xhtml and about:newtab both carry it.\n\nSelectors that would otherwise resolve against a dir attribute on the element itself anchor on an ancestor instead, so every rule still keys off the locale direction.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D323319",
      "email": "dao@mozilla.com",
      "hash": "2a9455153a2efa32f691f6e09a2b65c7f62ab9dd",
      "subject": "Bug 2068970 - Use :dir() instead of :-moz-locale-dir() for urlbar / searchbar RTL rules. r=adw,desktop-theme-reviewers,emilio"
    },
    "D323320": {
      "author": "Hubert B Manilla",
      "avatar": "https://www.gravatar.com/avatar/9a8e452716848b046c871e21035b4ea3?d=identicon\u0026s=64",
      "cl": "D323320",
      "clUrl": "https://phabricator.services.mozilla.com/D323320",
      "description": "- This removes `newGeneratedSource` which seems to no longer be used.\n- Also no longer return sources from `newGeneratedSources`.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D323320",
      "email": "hmanilla@mozilla.com",
      "hash": "20a8abdc2a2f2212367f3a3ab4723bfb3fa3f992",
      "subject": "Bug 2054947 - [devtools] Cleanup newGeneratedSource(s) r=devtools-reviewers,ochameau"
    },
    "D323327": {
      "author": "Paul Adenot",
      "avatar": "https://www.gravatar.com/avatar/56566788314477c51b94743ea7f68494?d=identicon\u0026s=64",
      "cl": "D323327",
      "clUrl": "https://phabricator.services.mozilla.com/D323327",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D323327",
      "email": "paul@paul.cx",
      "hash": "efd40ebb904d4f2db452a210d14dd753b95038fd",
      "subject": "Bug 2069062 - Fix position of Speech Recognition entry in about:preferences AI Controls. r=nordzilla,hjones"
    },
    "D323331": {
      "author": "Rémi Papillié",
      "avatar": "https://www.gravatar.com/avatar/6dbd13dd334657fae5d8837fb3cdde16?d=identicon\u0026s=64",
      "cl": "D323331",
      "clUrl": "https://phabricator.services.mozilla.com/D323331",
      "description": "This reimplements order_readers_after() as an iterative function and adds a set\nof visited nodes, guarding against multiple evaluations of the same node\n(including cycles).\n\nDifferential Revision: https://phabricator.services.mozilla.com/D323331",
      "email": "rpapillie@mozilla.com",
      "hash": "cb6cfc336941742b8ca7cdcad12096260f91d2b8",
      "subject": "Bug 2068836 - Fix exponential recursion in order_readers_after(). r=gfx-reviewers,lsalzman,ahale"
    },
    "D323335": {
      "author": "Alex Hochheiden",
      "avatar": "https://www.gravatar.com/avatar/d543df9ea6c80e41387222577084eec1?d=identicon\u0026s=64",
      "cl": "D323335",
      "clUrl": "https://phabricator.services.mozilla.com/D323335",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D323335",
      "email": "ahochheiden@mozilla.com",
      "hash": "1a3d89a6326f817de2926d12f23f5ee8def6181c",
      "subject": "Bug 2065086 - Reject non string hints when constructing a lint `Issue` r=linter-reviewers,ahal"
    },
    "D323336": {
      "author": "Alex Hochheiden",
      "avatar": "https://www.gravatar.com/avatar/d543df9ea6c80e41387222577084eec1?d=identicon\u0026s=64",
      "cl": "D323336",
      "clUrl": "https://phabricator.services.mozilla.com/D323336",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D323336",
      "email": "ahochheiden@mozilla.com",
      "hash": "22cc224cba9af165b8a33951f2313ada4a613e34",
      "subject": "Bug 2065086 - Turn the `eslint` fix object into a readable hint r=linter-reviewers,ahal"
    },
    "D323339": {
      "author": "unifolia",
      "avatar": "https://www.gravatar.com/avatar/4694b477c490cf60cd24b4c7467bcce3?d=identicon\u0026s=64",
      "cl": "D323339",
      "clUrl": "https://phabricator.services.mozilla.com/D323339",
      "description": "See bug for testing issues\n\nDifferential Revision: https://phabricator.services.mozilla.com/D323339",
      "email": "jlewis@mozilla.com",
      "hash": "28a9985add5dc52faa580c15f29e3fd33f914af8",
      "subject": "Bug 2068218 - Tear the Organize Tabs panel down when its window closes r=pdahiya"
    },
    "D323363": {
      "author": "Elissa Cha",
      "avatar": "https://www.gravatar.com/avatar/3e35b9456250282cae28a20111cf7674?d=identicon\u0026s=64",
      "cl": "D323363",
      "clUrl": "https://phabricator.services.mozilla.com/D323363",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D323363",
      "email": "echa@mozilla.com",
      "hash": "e269aeb83da7115df6a4b83ba0087625b252b9f1",
      "subject": "Bug 2069093 - Report Split View usage preference in Nimbus targeting telemetry r=nimbus-reviewers,beth"
    },
    "D323365": {
      "author": "Olli Pettay",
      "avatar": "https://www.gravatar.com/avatar/13772facadedc1bff63debd9e596f5e2?d=identicon\u0026s=64",
      "cl": "D323365",
      "clUrl": "https://phabricator.services.mozilla.com/D323365",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D323365",
      "email": "Olli.Pettay@helsinki.fi",
      "hash": "defbd6d2a9a199e04936191341d04b3912ff20a4",
      "subject": "Bug 2068361 - modernize ChromeTooltipListener a bit, r=dom-core-reviewers,jjaschke"
    },
    "D323370": {
      "author": "Emilio Cobos Álvarez",
      "avatar": "https://www.gravatar.com/avatar/1d91d22a4892f16f744b31fd4286144e?d=identicon\u0026s=64",
      "cl": "D323370",
      "clUrl": "https://phabricator.services.mozilla.com/D323370",
      "description": "See the comments on the bug. The TLDR is that gtk_window_resize waits\nfor the GTK frame clock via gtk_widget_queue_resize_no_redraw:\n\n * https://gitlab.gnome.org/GNOME/gtk/-/blob/b30343717dc9b02cf157d2ea87da585d8d518845/gtk/gtkwindow.c#L5436\n\nOn automation that never advances (that waits for _NET_WM_FRAME_DRAWN,\nand the counter is stuck at 1...). Since GTK has an opt-out for this\nprecise mechanism, and the benefit we get from it seems not-huge, I\nthink this is probably the least risky?\n\nAlternatives would be:\n\n * Try to get an updated mutter on CI or so, in case this is fixed in\n   the ubuntu repos already (hopefully?).\n\n * Go through gdk_window_resize rather than gtk_window_resize on X11,\n   which skips the gtk wait and does a direct X11 request. That is\n   closer to what gtk_window_move does, but I'm a bit worried about some\n   GTK state getting out of sync due to that.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D323370",
      "email": "emilio@crisal.io",
      "hash": "571e8708dd065223071e63564a937b6f23926c9f",
      "subject": "Bug 1982990 - Skip GDK frame clock synchronization on X11. r=stransky,gtk-reviewers"
    },
    "D323377": {
      "author": "Matthew Gaudet",
      "avatar": "https://www.gravatar.com/avatar/0c4c6c72545e010e29e8da0e3bb229ee?d=identicon\u0026s=64",
      "cl": "D323377",
      "clUrl": "https://phabricator.services.mozilla.com/D323377",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D323377",
      "email": "mgaudet@mozilla.com",
      "hash": "c31bb02c5ab0fcf95024252cd00ace81aead418c",
      "subject": "Bug 2068433 - Assert buffer is same-compartment in fromBufferSameCompartment r=sfink"
    },
    "D323378": {
      "author": "Matthew Gaudet",
      "avatar": "https://www.gravatar.com/avatar/0c4c6c72545e010e29e8da0e3bb229ee?d=identicon\u0026s=64",
      "cl": "D323378",
      "clUrl": "https://phabricator.services.mozilla.com/D323378",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D323378",
      "email": "mgaudet@mozilla.com",
      "hash": "168f1683dcbca7f54a6a4a91930f4039c161e307",
      "subject": "Bug 2068433 - Wrap buffer r=saschanaz"
    },
    "D323381": {
      "author": "Iain Ireland",
      "avatar": "https://www.gravatar.com/avatar/1243fc5f2c1c56a2f77ca1be38837e68?d=identicon\u0026s=64",
      "cl": "D323381",
      "clUrl": "https://phabricator.services.mozilla.com/D323381",
      "description": "std::has_single_bit is only defined for unsigned types, but V8 added a use for `int`.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D323381",
      "email": "iireland@mozilla.com",
      "hash": "62871c3f742420d512e1199f9b06be33dcb619dc",
      "subject": "Bug 2067580: Reimplement IsPowerOfTwo r=dminor"
    },
    "D323382": {
      "author": "Iain Ireland",
      "avatar": "https://www.gravatar.com/avatar/1243fc5f2c1c56a2f77ca1be38837e68?d=identicon\u0026s=64",
      "cl": "D323382",
      "clUrl": "https://phabricator.services.mozilla.com/D323382",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D323382",
      "email": "iireland@mozilla.com",
      "hash": "9a5761f4018460a508b28d9661a6a67da0919d56",
      "subject": "Bug 2068432: Add testcase for bug fixed by irregexp update r=dminor"
    },
    "D323399": {
      "author": "Andrew Halberstadt",
      "avatar": "https://www.gravatar.com/avatar/e560e7861c9f93a235b26565ed5c4010?d=identicon\u0026s=64",
      "cl": "D323399",
      "clUrl": "https://phabricator.services.mozilla.com/D323399",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D323399",
      "email": "ahal@mozilla.com",
      "hash": "ed02449696ba66f3dd3eb355340bdfee936ce844",
      "subject": "Bug 2037297 - Add pyyaml to the test archive, r=RyanVM"
    },
    "D323410": {
      "author": "az",
      "avatar": "https://www.gravatar.com/avatar/788a42b35c139431ccaf9575c6626a93?d=identicon\u0026s=64",
      "cl": "D323410",
      "clUrl": "https://phabricator.services.mozilla.com/D323410",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D323410",
      "email": "azebrowski@mozilla.com",
      "hash": "f716b3d145baca902b7cdc1ac07188216e0c6c22",
      "subject": "Bug 2066631 - Improve AV1 tile handling on Vulkan. r=padenot"
    },
    "D323411": {
      "author": "Glenn Watson",
      "avatar": "https://www.gravatar.com/avatar/3d823baa293744dbe3cbe8ce33d77065?d=identicon\u0026s=64",
      "cl": "D323411",
      "clUrl": "https://phabricator.services.mozilla.com/D323411",
      "description": "Each backdrop-filter resolve widens the graph that order_readers_after() walks,\nso walking it once per path is exponential in the number of siblings: 9 siblings\ntook 0.2s, 13 took 67s, 14 did not finish.\n\nSixteen siblings inside a blurred stacking context. Inverting the red backdrop\ngives cyan, so the reference draws cyan rects in their place.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D323411",
      "email": "git@chillybin.org",
      "hash": "e431f9545093b298340c9acfe494514fd00b666d",
      "subject": "Bug 2068836 - Add a wrench reftest for many backdrop-filters under a blurred parent r=gfx-reviewers,ahale"
    },
    "D323421": {
      "author": "Tymur Boiko",
      "avatar": "https://www.gravatar.com/avatar/e5455cbc9ccf5951783c79fc29beda3c?d=identicon\u0026s=64",
      "cl": "D323421",
      "clUrl": "https://phabricator.services.mozilla.com/D323421",
      "description": "LINEAR often uses pitch==width; NVIDIA/AMD PRIME needs 256B alignment\n(Mesa ISL). Widen the copy-ring image when exporting LINEAR to another\nGPU so UV is not misread as the wrong stride (green video / GL context\nloss).\n\nDifferential Revision: https://phabricator.services.mozilla.com/D323421",
      "email": "tboiko@nvidia.com",
      "hash": "55213bae99d2878e38b75c7d627d0f165c859536",
      "subject": "Bug 2069139 [Linux][Vulkan Video] Pad LINEAR NV12 export pitch for foreign-GPU EGL import. r=stransky,media-playback-reviewers"
    },
    "D323427": {
      "author": "Dão Gottwald",
      "avatar": "https://www.gravatar.com/avatar/45dfe136efbb8e5f89eb0b21775ab195?d=identicon\u0026s=64",
      "cl": "D323427",
      "clUrl": "https://phabricator.services.mozilla.com/D323427",
      "description": "The moz-button host has a fixed height but `part(button)`, which paints it, only ever gets `min-height`, so it grows past the host once the label's line box outgrows the slot. Compact density leaves that slot 20px, which a 14px chrome root font already exceeds.\n\n`display: flex` on the host also drops the inline-block baseline offset that puts the button below the host's top edge above an 18px root font.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D323427",
      "email": "dao@mozilla.com",
      "hash": "974e0b75e05d8fa63f130ad989dd3c8dfbd57c04",
      "subject": "Bug 2066671 - Keep the search mode switcher button within its slot in the address bar. r=adw,urlbar-reviewers"
    },
    "D323443": {
      "author": "Sotaro Ikeda",
      "avatar": "https://www.gravatar.com/avatar/a0c6bcb88fdc08a4e55f4fcf65cf0428?d=identicon\u0026s=64",
      "cl": "D323443",
      "clUrl": "https://phabricator.services.mozilla.com/D323443",
      "description": "In content process, a limited number of SurfaceDescriptor types are used.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D323443",
      "email": "sotaro.ikeda.g@gmail.com",
      "hash": "29aa9c78012538b2a3afd5b59d74eed4e5c449c6",
      "subject": "Bug 2069177 - Limit SurfaceDescriptor type in ContentCompositorBridgeParent::AllocPTextureParent() r=gfx-reviewers,lsalzman"
    },
    "D323471": {
      "author": "Sotaro Ikeda",
      "avatar": "https://www.gravatar.com/avatar/a0c6bcb88fdc08a4e55f4fcf65cf0428?d=identicon\u0026s=64",
      "cl": "D323471",
      "clUrl": "https://phabricator.services.mozilla.com/D323471",
      "description": "In SharedSurface_AndroidHardwareBuffer::WaitForBufferOwnership(), eglClientWaitSync() is called. It is better to call eglWaitSync().\n\nDifferential Revision: https://phabricator.services.mozilla.com/D323471",
      "email": "sotaro.ikeda.g@gmail.com",
      "hash": "d30a7e372c7656013b6725b48da8acee335779b7",
      "subject": "Bug 2069205 - Fix wait sync in SharedSurface_AndroidHardwareBuffer::WaitForBufferOwnership() r=gfx-reviewers,lsalzman"
    },
    "D323506": {
      "author": "Kershaw Chang",
      "avatar": "https://www.gravatar.com/avatar/608e04ebca94be52b05c003d51d43e07?d=identicon\u0026s=64",
      "cl": "D323506",
      "clUrl": "https://phabricator.services.mozilla.com/D323506",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D323506",
      "email": "kershaw@mozilla.com",
      "hash": "a326349b65cc56c957b3a08cea72c6b3100c90f0",
      "subject": "Bug 2062172 - Propagate TLS errors through TLSTransportLayer, r=necko-reviewers,valentin"
    },
    "D323507": {
      "author": "Julian Descottes",
      "avatar": "https://www.gravatar.com/avatar/60dd86ccfd9c63b53e9f2a34b2f48442?d=identicon\u0026s=64",
      "cl": "D323507",
      "clUrl": "https://phabricator.services.mozilla.com/D323507",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D323507",
      "email": "jdescottes@mozilla.com",
      "hash": "a499b9d7a379725ae15efa9dab003ba7f6856625",
      "subject": "Bug 2069174 - [remote] Handle killed processes in mach puppeteer-test r=Sasha"
    },
    "D323508": {
      "author": "Julian Descottes",
      "avatar": "https://www.gravatar.com/avatar/60dd86ccfd9c63b53e9f2a34b2f48442?d=identicon\u0026s=64",
      "cl": "D323508",
      "clUrl": "https://phabricator.services.mozilla.com/D323508",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D323508",
      "email": "jdescottes@mozilla.com",
      "hash": "b5ac97bf54b6f1df66d1dfb0b6a92086ce5206a6",
      "subject": "Bug 2069174 - [remote] Disable npm audit and funding checks to avoid npm network requests in CI r=Sasha"
    },
    "D323559": {
      "author": "Nazım Can Altınova",
      "avatar": "https://www.gravatar.com/avatar/6ec3894dd8f6c79bebd9110120332aa9?d=identicon\u0026s=64",
      "cl": "D323559",
      "clUrl": "https://phabricator.services.mozilla.com/D323559",
      "description": "The tracer only records min(numProperties, MAX_COLLECTION_VALUES) property\nkeys in the string buffer, but the profiler read numProperties of them,\nand causing us to read more than what we wrote.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D323559",
      "email": "canaltinova@gmail.com",
      "hash": "0871b7ea65b6cec9553318d01412daf449ce1054",
      "subject": "Bug 1995443 - Clamp execution trace shape property reads to MAX_COLLECTION_VALUES. r=mstange,profiler-reviewers"
    },
    "D323568": {
      "author": "Jan-Niklas Jaeschke",
      "avatar": "https://www.gravatar.com/avatar/f8a4d2d2b8f9eec6bcb98f2ae8169d69?d=identicon\u0026s=64",
      "cl": "D323568",
      "clUrl": "https://phabricator.services.mozilla.com/D323568",
      "description": "Text directives only match web content, so exclude native anonymous content from their nsFind searches without changing normal find-in-page behavior.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D323568",
      "email": "jjaschke@mozilla.com",
      "hash": "bdcd41c5cd7e9c70a3324960b92dac04c9d50282",
      "subject": "Bug 2069242 - Ignore native anonymous content when finding and creating text directives. r=emilio"
    },
    "D323570": {
      "author": "Julien Cristau",
      "avatar": "https://www.gravatar.com/avatar/15b9b3783e4671cd882bff1316df14c9?d=identicon\u0026s=64",
      "cl": "D323570",
      "clUrl": "https://phabricator.services.mozilla.com/D323570",
      "description": "HG_SUFFIX_LOCAL is what's currently in the repo, PUBLIC_SUFFIX_LOCAL is\nthe new version we downloaded from publicsuffix.org.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D323570",
      "email": "jcristau@mozilla.com",
      "hash": "de3164f94d82811f263f7ab5362b5e27586384ff",
      "subject": "Bug 2019992 - un-reverse suffix-list diff. r=releng-reviewers,bhearsum DONTBUILD"
    },
    "a554e2ca28f1": {
      "author": "iulian moraru",
      "avatar": "https://www.gravatar.com/avatar/348b805af88f773829064778b66be468?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "This reverts commit d63f5809f68189ebad5405836b8bd5e4c2572a7b.",
      "email": "imoraru@mozilla.com",
      "hash": "a554e2ca28f1d26b560ae4753ea2ee99beab5049",
      "subject": "Revert \"Bug 2068128 - Improve generation of white-listed files for clang-tidy r=sylvestre\" for causing spidermonkey build butages on uset.h."
    },
    "bbc2bc5fb903": {
      "author": "Sandor Molnar",
      "avatar": "https://www.gravatar.com/avatar/0ae9a754e7e4f14ad7409c405ee3bf9e?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "This reverts commit 58dc1aa78388605ef24113561be3ad706e4ea9f0.",
      "email": "smolnar@mozilla.com",
      "hash": "bbc2bc5fb903b9e1a4b1b1c0617577d3fe0712c0",
      "subject": "Revert \"Bug 1995348 - Implement the \"grid-lanes\" value for the \"display\" property r=layout-reviewers,firefox-style-system-reviewers,dholbert,emilio\" for causing WR failures @ /css/css-anchor-position/grid-lanes-position-area-basic.html"
    },
    "d414c7a5e2c9": {
      "author": "Sandor Molnar",
      "avatar": "https://www.gravatar.com/avatar/0ae9a754e7e4f14ad7409c405ee3bf9e?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "This reverts commit f94dc29b1565f7cebd787b606f8179d7afccf752.",
      "email": "smolnar@mozilla.com",
      "hash": "d414c7a5e2c9c5fd7af554b3e81a2b1c48dd3026",
      "subject": "Revert \"Bug 2064287 - Harden drag handling; r=smaug\" for causing build bustages @ PointerLockManager.cpp"
    },
    "f0093428d71e": {
      "author": "Ryan VanderMeulen",
      "avatar": "https://www.gravatar.com/avatar/51823ded02903fa76c961fe2a3c1318a?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "",
      "email": "rvandermeulen@mozilla.com",
      "hash": "f0093428d71e3b3141e7e3c342ad533fd8418a39",
      "subject": "Bug 2005954 - Remove the unreferenced --background-color-dead-row custom property from aboutMemory.css. r=bustage"
    },
    "f44c9b16cd37": {
      "author": "Ryan VanderMeulen",
      "avatar": "https://www.gravatar.com/avatar/51823ded02903fa76c961fe2a3c1318a?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "",
      "email": "rvandermeulen@mozilla.com",
      "hash": "f44c9b16cd37d3a186fc1e231a3bf510f22cdfda",
      "subject": "Bug 2005954 - Fully qualify mozilla::dom in TestCollectorLogLoading.cpp to fix non-unified builds. r=bustage"
    }
  },
  "date": "2026-09-04",
  "days": 1,
  "generatedAt": "2026-09-04T22:09:16Z",
  "markdown": "## Highlights\n- **UI** Nova redesign is now enabled by default across all channels, making the new desktop chrome the baseline experience instead of an experiment. [Phab D323281](https://phabricator.services.mozilla.com/D323281)\n- **Web Platform** Firefox landed automatic container-size-based `line-clamp`, a meaningful CSS behavior upgrade even though follow-up stability work is still happening. [Phab D321312](https://phabricator.services.mozilla.com/D321312)\n- **Web Platform** `display: grid-lanes` landed, extending CSS layout support with a new value before a same-day backout due to test failures. [Phab D273845](https://phabricator.services.mozilla.com/D273845)\n- **Media** Speech Recognition's `start()` flow can now trigger model installation, report refusal vs failure, and test the full path end to end. [Phab D323301](https://phabricator.services.mozilla.com/D323301)\n- **Media** MediaCapabilities gained a pref-guarded cached async codec support path, reducing repeated hardware capability checks. [Phab D304785](https://phabricator.services.mozilla.com/D304785)\n- **GPU** Linux Vulkan Video handling improved in two places: AV1 tile processing got smarter and foreign-GPU NV12 export pitch is now padded correctly. [Phab D323410](https://phabricator.services.mozilla.com/D323410) [Phab D323421](https://phabricator.services.mozilla.com/D323421)\n- **Security** Session history now sanity-checks and blocks content from setting sensitive result and original URIs, tightening a dangerous trust boundary. [Phab D319828](https://phabricator.services.mozilla.com/D319828) [Phab D319829](https://phabricator.services.mozilla.com/D319829)\n- **A11y** Accessibility landed a substantial form-controls pass, including numeric value change events, scroll adjustability, combobox descendant value changes, and a new UIA web-content-root property. [Phab D321717](https://phabricator.services.mozilla.com/D321717) [Phab D321718](https://phabricator.services.mozilla.com/D321718) [Phab D323159](https://phabricator.services.mozilla.com/D323159) [Phab D323148](https://phabricator.services.mozilla.com/D323148)\n- **Perf** WebRender fixed exponential recursion in backdrop-filter reader ordering and cleaned up visibility-node plumbing, targeting nasty rendering costs and complexity. [Phab D323331](https://phabricator.services.mozilla.com/D323331) [Phab D322969](https://phabricator.services.mozilla.com/D322969)\n- **Privacy** Copy Clean Link got more precise empty-parameter stripping via explicit equals parsing, while the new `lid` stripping rule had to be reverted after regressions. [Phab D318411](https://phabricator.services.mozilla.com/D318411) [Phab D317442](https://phabricator.services.mozilla.com/D317442)\n\n## What landed by area\n\n### Desktop UI and browser chrome\n- **UI** Search engine selection now uses sentence casing in \"Pick a Search Engine\" for a more consistent setup flow. [Phab D322999](https://phabricator.services.mozilla.com/D322999)\n- **UI** The address bar search mode switcher is kept inside its slot instead of drifting out of layout. [Phab D323427](https://phabricator.services.mozilla.com/D323427)\n- **UI** URL bar result rows now distribute space better and avoid title, URL, and explanation truncation bugs. [Phab D323144](https://phabricator.services.mozilla.com/D323144)\n- **UI** Pressing space to select a search engine in the urlbar no longer leaks a literal space into the field. [Phab D323296](https://phabricator.services.mozilla.com/D323296)\n- **UI** Zero-prefix counters are now reported per search access point under `urlbar.zeroprefix2`. [Phab D322251](https://phabricator.services.mozilla.com/D322251)\n- **UI** The Organize Tabs panel now tears down cleanly when its window closes. [Phab D323339](https://phabricator.services.mozilla.com/D323339)\n- **UI** Bookmark folder node radius and folder icon alignment were adjusted for Nova consistency. [Phab D322988](https://phabricator.services.mozilla.com/D322988)\n- **UI** Firefox can center-crop HTML labels in privileged documents, with sugar for `moz-label` consumers. [Phab D313578](https://phabricator.services.mozilla.com/D313578)\n- **UI** Compact-mode panel items got updated block padding. [Phab D323314](https://phabricator.services.mozilla.com/D323314)\n- **UI** Popup border light and dark tokens now alias to `--border-color-deemphasized`, reducing theme token drift. [Phab D321051](https://phabricator.services.mozilla.com/D321051)\n- **UI** Autocomplete row icons were reduced back to the standard icon size. [Phab D323113](https://phabricator.services.mozilla.com/D323113)\n- **UI** The sidebar panel header's Close button type was corrected. [Phab D323051](https://phabricator.services.mozilla.com/D323051)\n- **UI** Preferences search notices now keep proper spacing after inline notices. [Phab D323128](https://phabricator.services.mozilla.com/D323128)\n- **UI** AI Controls in about:preferences got the Speech Recognition entry positioned correctly. [Phab D323327](https://phabricator.services.mozilla.com/D323327)\n- **UI** New foreground tab opening now waits for the new tab to reflow, reducing timing flake. [Phab D322870](https://phabricator.services.mozilla.com/D322870)\n- **UI** Unused `customizing-movingItem` attribute plumbing was removed from customization UI. [Phab D323210](https://phabricator.services.mozilla.com/D323210)\n- **UI** Alert, confirm, and prompt dialogs can use the content page's preferred color scheme, though the change was later backed out for a browser-chrome failure. [Phab D322997](https://phabricator.services.mozilla.com/D322997)\n\n### Layout, DOM, editing, and CSS\n- **Web Platform** Native anonymous content is now ignored when finding and creating text directives, which should make text-fragment handling more correct. [Phab D323568](https://phabricator.services.mozilla.com/D323568)\n- **Web Platform** Popover invoker children and shadow roots are now included in sequential focus navigation. [Phab D323017](https://phabricator.services.mozilla.com/D323017)\n- **Rendering** SVG text rect mapping now accounts for the font scale factor when converting to user space. [Phab D309638](https://phabricator.services.mozilla.com/D309638)\n- **UI** Custom select colors are disabled when `color: transparent` is in play, avoiding unreadable form controls. [Phab D323228](https://phabricator.services.mozilla.com/D323228)\n- **Rendering** Canvas observers now detach when an SVG filter is reassigned, preventing stale observer state. [Phab D322926](https://phabricator.services.mozilla.com/D322926)\n- **Security** Malformed `integrity` attributes no longer trigger an assertion failure. [Phab D279334](https://phabricator.services.mozilla.com/D279334)\n- **Refactor** `ChromeTooltipListener` got a small modernization pass. [Phab D323365](https://phabricator.services.mozilla.com/D323365)\n- **Web Platform** Drag handling was hardened in DOM input code before being reverted for build bustage. [Phab D321984](https://phabricator.services.mozilla.com/D321984)\n- **Web Platform** Editing now skips `CompositionTransaction` in `InsertTextIntoTextNodeWithTransaction` when the change was not caused by composition. [Phab D323152](https://phabricator.services.mozilla.com/D323152)\n\n### Accessibility\n- **A11y** HTML range detection was added and HTML spinner detection was fixed as groundwork for richer numeric control support. [Phab D321717](https://phabricator.services.mozilla.com/D321717)\n- **A11y** Ranges and spinners can now be adjusted with the scroll action. [Phab D321718](https://phabricator.services.mozilla.com/D321718)\n- **A11y** Numeric values now send value change events, though that patch was later reverted after Android GeckoView test failures. [Phab D321719](https://phabricator.services.mozilla.com/D321719)\n- **A11y** Firefox now extracts combobox descendant value-change logic into a reusable helper. [Phab D323158](https://phabricator.services.mozilla.com/D323158)\n- **A11y** Comboboxes now fire value change events when their values are computed from deeper descendants. [Phab D323159](https://phabricator.services.mozilla.com/D323159)\n- **A11y** EditContext attach and detach now fire a focusable state change event. [Phab D322831](https://phabricator.services.mozilla.com/D322831)\n- **A11y** Non-document accessibles are no longer allowed to use the viewport cache. [Phab D323141](https://phabricator.services.mozilla.com/D323141)\n- **A11y** Windows UIA now exposes a custom `IsWebContentRoot` property. [Phab D323148](https://phabricator.services.mozilla.com/D323148)\n\n### Media, audio, video, and AI runtime\n- **Media** The Speech Recognition start path was split so session setup now lives in `BeginSession()`, making the flow easier to reason about. [Phab D323300](https://phabricator.services.mozilla.com/D323300)\n- **Media** Firefox now offers model installation when `start()` requires one. [Phab D323301](https://phabricator.services.mozilla.com/D323301)\n- **Media** Refused model installs are explicitly reported back to the content process. [Phab D323299](https://phabricator.services.mozilla.com/D323299)\n- **Media** The API now reports whether model install failed or was explicitly refused. [Phab D323298](https://phabricator.services.mozilla.com/D323298)\n- **Media** A mochitest now covers model installation kicked off from `start()`. [Phab D323302](https://phabricator.services.mozilla.com/D323302)\n- **Media** MediaCapabilities can now use a cached async codec-support path behind a pref. [Phab D304785](https://phabricator.services.mozilla.com/D304785)\n- **Media** `RemoteMediaManagerChild::EnsureCodecSupportFor` was added to support async hardware codec capability checks. [Phab D304784](https://phabricator.services.mozilla.com/D304784)\n- **Media** Mozilla added a WPT-style test for the new media-capabilities supports-cache pref. [Phab D309551](https://phabricator.services.mozilla.com/D309551)\n- **Media** VideoToolbox colorspace overrides are now limited to wide-gamut and HDR content instead of applying too broadly. [Phab D323305](https://phabricator.services.mozilla.com/D323305)\n- **Media** New test videos and checks verify the colorspace metadata attached to VideoToolbox-decoded frames. [Phab D323303](https://phabricator.services.mozilla.com/D323303) [Phab D323304](https://phabricator.services.mozilla.com/D323304)\n- **Media** `InsertDTMF` was tightened for closer spec compliance. [Phab D322764](https://phabricator.services.mozilla.com/D322764)\n- **Media** A test now verifies the DTMF playout task is queued immediately when required. [Phab D322763](https://phabricator.services.mozilla.com/D322763)\n- **Perf** A hang in `LlamaGenerateTask` was fixed in the AI platform runtime. [Phab D322897](https://phabricator.services.mozilla.com/D322897)\n- **Refactor** Content-realm result payload validation can now be skipped where appropriate. [Phab D323181](https://phabricator.services.mozilla.com/D323181)\n\n### Graphics, rendering, and GPU\n- **GPU** AV1 tile handling on Vulkan was improved. [Phab D323410](https://phabricator.services.mozilla.com/D323410)\n- **GPU** Linux Vulkan Video now pads LINEAR NV12 export pitch correctly for foreign-GPU EGL import. [Phab D323421](https://phabricator.services.mozilla.com/D323421)\n- **GPU** Linux Vulkan Video decoders now reuse a cached selected device name across instances. [Phab D323227](https://phabricator.services.mozilla.com/D323227)\n- **GPU** RDD was allowed to read `nvidia_drm` modeset state, likely smoothing Linux video setup. [Phab D322728](https://phabricator.services.mozilla.com/D322728)\n- **GPU** Android hardware buffer ownership waiting was fixed in `SharedSurface_AndroidHardwareBuffer`. [Phab D323471](https://phabricator.services.mozilla.com/D323471)\n- **Security** `ContentCompositorBridgeParent::AllocPTextureParent()` now limits accepted `SurfaceDescriptor` types. [Phab D323443](https://phabricator.services.mozilla.com/D323443)\n- **GPU** EGL stops requesting the D3D9 ANGLE backend, which was never actually available. [Phab D323085](https://phabricator.services.mozilla.com/D323085)\n- **Perf** Skia now uses unchecked indexing in `SkConvolutionFilter1D::FilterForValue`. [Phab D323133](https://phabricator.services.mozilla.com/D323133)\n- **Perf** AVX2 convolution now folds a coefficient splat into a single broadcast in `AccumRemainder`. [Phab D323132](https://phabricator.services.mozilla.com/D323132)\n- **Rendering** WebRender removed a write-only picture-context visibility spatial node. [Phab D322969](https://phabricator.services.mozilla.com/D322969)\n- **Rendering** WebRender removed an unused visible-tile culling rect from the tile cache. [Phab D322970](https://phabricator.services.mozilla.com/D322970)\n- **Rendering** Backdrop-filter debug rects are now mapped straight to device space. [Phab D322971](https://phabricator.services.mozilla.com/D322971)\n- **Rendering** WebRender removed the unused `vis_rect_as_world` shim. [Phab D322972](https://phabricator.services.mozilla.com/D322972)\n- **Rendering** Visibility spatial node selection is now single-sourced in WebRender. [Phab D322973](https://phabricator.services.mozilla.com/D322973)\n- **Rendering** A new wrench reftest covers many backdrop-filters under a blurred parent. [Phab D323411](https://phabricator.services.mozilla.com/D323411)\n- **Perf** WebRender fixed exponential recursion in `order_readers_after()`. [Phab D323331](https://phabricator.services.mozilla.com/D323331)\n- **Perf** On X11, Firefox now skips GDK frame clock synchronization. [Phab D323370](https://phabricator.services.mozilla.com/D323370)\n\n### Networking, storage, and security plumbing\n- **Networking** TLS errors now propagate through `TLSTransportLayer` instead of being swallowed. [Phab D323506](https://phabricator.services.mozilla.com/D323506)\n- **Networking** `nsHTTPCompressConv` now dispatches pass-through `OnDataAvailable` to the main thread. [Phab D322964](https://phabricator.services.mozilla.com/D322964)\n- **Networking** Firefox updated `happy-eyeballs` to v1.0.0. [Phab D322986](https://phabricator.services.mozilla.com/D322986)\n- **Networking** HTTPS RR fast fallback is now preserved even when the backup connection cannot be created. [Phab D323190](https://phabricator.services.mozilla.com/D323190)\n- **Networking** A test now covers fast fallback behavior at the connection limit. [Phab D323189](https://phabricator.services.mozilla.com/D323189)\n- **Security** `mimeheader` now rejects unescaped null bytes. [Phab D321827](https://phabricator.services.mozilla.com/D321827)\n- **Storage** Quota manager stops rescanning origins when shutdown is already in progress. [Phab D319043](https://phabricator.services.mozilla.com/D319043)\n- **Storage** Quota manager usage values that can underflow now use signed integers. [Phab D322186](https://phabricator.services.mozilla.com/D322186)\n- **Storage** Document storage-access promise resolve and reject logic was deduplicated. [Phab D320102](https://phabricator.services.mozilla.com/D320102)\n- **Security** NSSCipherStrategy now generates a random nonce per message. [Phab D319641](https://phabricator.services.mozilla.com/D319641)\n- **Privacy** Firefox should now treat `content://` URIs with a user-id-bearing authority as valid content URIs on Android. [Phab D319025](https://phabricator.services.mozilla.com/D319025)\n- **Privacy** The Rambler Authenticator shim fixed argument capture and path matching. [Phab D317435](https://phabricator.services.mozilla.com/D317435)\n\n### JavaScript, Wasm, and profiler\n- **Perf** Off-thread script compilation now aborts when the underlying request is cancelled. [Phab D322930](https://phabricator.services.mozilla.com/D322930)\n- **Perf** Execution trace shape property reads are now clamped to `MAX_COLLECTION_VALUES`. [Phab D323559](https://phabricator.services.mozilla.com/D323559)\n- **Perf** The MIR loop unroller now tries harder to avoid unnecessary OOMs. [Phab D323284](https://phabricator.services.mozilla.com/D323284)\n- **Security** `WasmCompileTask::StealResult` now holds `mMutex` while reading `mCompileResult`. [Phab D322267](https://phabricator.services.mozilla.com/D322267)\n- **Perf** Wasm lazy export binary searches now use a signed comparison. [Phab D322266](https://phabricator.services.mozilla.com/D322266)\n- **Security** `wasm::CodeExists` updates now happen inside the code block map critical section, though the patch was later reverted for build bustage. [Phab D320540](https://phabricator.services.mozilla.com/D320540)\n- **Refactor** `ThreadSafeCodeBlockMap` was moved to `WasmProcess.h`. [Phab D320539](https://phabricator.services.mozilla.com/D320539)\n- **Perf** Baseline compilation now checks frame height before creating a stackmap, though that change was later reverted after jit failures. [Phab D320494](https://phabricator.services.mozilla.com/D320494)\n- **Refactor** `irregexp` was updated and Mozilla patches were reapplied on top. [Phab D322172](https://phabricator.services.mozilla.com/D322172) [Phab D322173](https://phabricator.services.mozilla.com/D322173)\n- **Security** A testcase was added for the bug fixed by the `irregexp` update. [Phab D323382](https://phabricator.services.mozilla.com/D323382)\n- **Perf** `IsPowerOfTwo` was reimplemented. [Phab D323381](https://phabricator.services.mozilla.com/D323381)\n- **Web Platform** Sparse arrays are no longer supported in `SpreadMathMinMax`, though the change was later reverted for SpiderMonkey bustage. [Phab D323120](https://phabricator.services.mozilla.com/D323120)\n- **Refactor** Buffer wrapping got cleanup in SpiderMonkey internals. [Phab D323378](https://phabricator.services.mozilla.com/D323378)\n- **Security** `fromBufferSameCompartment` now asserts the buffer is same-compartment. [Phab D323377](https://phabricator.services.mozilla.com/D323377)\n\n### DevTools, tooling, build, and CI\n- **DevTools** The rule view now disables `.cls` panel inputs when a class cannot be added to the selected node. [Phab D321949](https://phabricator.services.mozilla.com/D321949)\n- **DevTools** Generated source cleanup landed in debugger internals. [Phab D323320](https://phabricator.services.mozilla.com/D323320)\n- **DevTools** Remote CI now disables npm audit and funding checks to avoid unwanted network access. [Phab D323508](https://phabricator.services.mozilla.com/D323508)\n- **DevTools** `mach puppeteer-test` now handles killed processes explicitly. [Phab D323507](https://phabricator.services.mozilla.com/D323507)\n- **Build** `check_binary` now runs on prebuilt libraries installed via `FINAL_TARGET_FILES`. [Phab D320125](https://phabricator.services.mozilla.com/D320125)\n- **Build** The onnxruntime library is now linked with static `libstdc++`. [Phab D320001](https://phabricator.services.mozilla.com/D320001)\n- **Build** The onnxruntime toolchain is now built against the sysroot. [Phab D320000](https://phabricator.services.mozilla.com/D320000)\n- **Build** The fat AAR pipeline gained desktop architecture support for `libsForTests`. [Phab D292612](https://phabricator.services.mozilla.com/D292612)\n- **Build** The UniFFI ABI is now exported from the megazord without a symbol stub. [Phab D320196](https://phabricator.services.mozilla.com/D320196)\n- **Build** A new action generates linker symbol inputs from a static archive. [Phab D320193](https://phabricator.services.mozilla.com/D320193)\n- **Build** Directory targets in the compile graph now get a single recipe. [Phab D322554](https://phabricator.services.mozilla.com/D322554)\n- **Build** Clang-tidy whitelist generation was improved before being reverted for SpiderMonkey build bustage. [Phab D322642](https://phabricator.services.mozilla.com/D322642)\n- **Build** Windows 11 `UILIMIT_HANDLES` handling was backported. [Phab D316613](https://phabricator.services.mozilla.com/D316613)\n- **Build** `pyyaml` was added to the test archive. [Phab D323399](https://phabricator.services.mozilla.com/D323399)\n- **Build** Lint issue construction now rejects non-string hints. [Phab D323335](https://phabricator.services.mozilla.com/D323335)\n- **Build** ESLint fix objects are now rendered as readable hints. [Phab D323336](https://phabricator.services.mozilla.com/D323336)\n- **Build** Coverity annotations now mark the `ots::Buffer` read destination as written. [Phab D322305](https://phabricator.services.mozilla.com/D322305)\n- **Build** `llama.cpp` is now properly cited in the license file. [Phab D317806](https://phabricator.services.mozilla.com/D317806)\n\n### Firefox platform features, telemetry, experiments, and services\n- **Privacy** Legacy telemetry mirrors for `email_tracker_count` were removed. [Phab D317060](https://phabricator.services.mozilla.com/D317060)\n- **Privacy** The legacy telemetry probe for `email_tracker_embedded_per_tab` was removed. [Phab D317037](https://phabricator.services.mozilla.com/D317037)\n- **Privacy** Legacy telemetry mirrors for `dom.webkit_directory_used` and `dom.blink_filesystem_used` were removed. [Phab D322884](https://phabricator.services.mozilla.com/D322884)\n- **Privacy** Deprecated GeckoView legacy telemetry mirrors were removed. [Phab D322398](https://phabricator.services.mozilla.com/D322398)\n- **Privacy** Theme picker Glean metrics were added. [Phab D321103](https://phabricator.services.mozilla.com/D321103)\n- **Privacy** Theme selections are now recorded in `ThemesList.updateThemeState`. [Phab D321104](https://phabricator.services.mozilla.com/D321104)\n- **Privacy** Theme-picker actor messages now thread install source and layout data through. [Phab D321105](https://phabricator.services.mozilla.com/D321105)\n- **Privacy** Remaining `updateThemeState` callers now populate layout. [Phab D321106](https://phabricator.services.mozilla.com/D321106)\n- **Privacy** Firefox now records telemetry when the theme picker is shown. [Phab D322484](https://phabricator.services.mozilla.com/D322484)\n- **Refactor** Nimbus fingerprinting-protection recipes can now leave values unset. [Phab D323307](https://phabricator.services.mozilla.com/D323307)\n- **Refactor** `ExperimentManager.id` was removed. [Phab D321877](https://phabricator.services.mozilla.com/D321877)\n- **Refactor** Nimbus modules now consistently use `XPCOMUtils.declareLazy`. [Phab D321875](https://phabricator.services.mozilla.com/D321875)\n- **Refactor** Nimbus test recipe factories now define feature config with `Object.assign`. [Phab D321874](https://phabricator.services.mozilla.com/D321874)\n- **Refactor** Nimbus test branch and bucketConfig factories were reworked. [Phab D321873](https://phabricator.services.mozilla.com/D321873)\n- **Refactor** Old Nimbus experiment and rollout test factories were removed. [Phab D321872](https://phabricator.services.mozilla.com/D321872)\n- **Privacy** Split View usage preference is now reported in Nimbus targeting telemetry. [Phab D323363](https://phabricator.services.mozilla.com/D323363)\n- **Mobile** Android fxsuggest tests were updated for the new required `suggestion_id`. [Phab D321422](https://phabricator.services.mozilla.com/D321422)\n- **Mobile** Android nightly pulled a newer application-services revision. [Phab D323232](https://phabricator.services.mozilla.com/D323232)\n- **UI** Newtab stories now unblock global Spanish and global English feeds on the client side. [Phab D322323](https://phabricator.services.mozilla.com/D322323)\n- **Refactor** Newtab train-hop plumbing that re-injected `preferences.ftl` strings into the XPI was removed. [Phab D322332](https://phabricator.services.mozilla.com/D322332)\n- **Refactor** Version 155 homepage train-hop shims were removed from AboutPreferences. [Phab D322340](https://phabricator.services.mozilla.com/D322340)\n- **Refactor** Newtab trainhop docs and `update-locales` were updated for the two-week release cadence. [Phab D322510](https://phabricator.services.mozilla.com/D322510)\n- **Security** Firefox now always restores logins from the deactivated Rust store. [Phab D323306](https://phabricator.services.mozilla.com/D323306)\n- **Web Platform** Smart Form Fill core gained additional test coverage. [Phab D316716](https://phabricator.services.mozilla.com/D316716)\n- **Refactor** Policy application now records partial application and surfaces the failure state. [Phab D322420](https://phabricator.services.mozilla.com/D322420)\n- **UI** Enterprise policy errors now name the failing Handlers entry and explain why a preference could not be set. [Phab D322672](https://phabricator.services.mozilla.com/D322672)\n- **Refactor** Tabbrowser option bags were renamed from `aOptions` and `aParams` to `options`, and defaults were documented. [Phab D322879](https://phabricator.services.mozilla.com/D322879) [Phab D322878](https://phabricator.services.mozilla.com/D322878)\n- **Refactor** Three previously undocumented public tabbrowser methods now have JSDoc. [Phab D322880](https://phabricator.services.mozilla.com/D322880)\n- **Refactor** `removeAllTabsBut` now forwards undocumented options instead of dropping them. [Phab D320696](https://phabricator.services.mozilla.com/D320696)\n- **Refactor** `confirmEx` now receives a writable checkbox state. [Phab D320695](https://phabricator.services.mozilla.com/D320695)\n- **Refactor** Tab userContextId is now taken from the tab object rather than its attribute. [Phab D320694](https://phabricator.services.mozilla.com/D320694)\n- **Refactor** One browser helper was changed to become a no-op on failure. [Phab D322984](https://phabricator.services.mozilla.com/D322984)\n- **UI** Hover preview browser tests were made more reliable by hovering the launcher button and preview row explicitly. [Phab D321902](https://phabricator.services.mozilla.com/D321902)\n\n## Reverts \u0026 Reapplies\n- **Refactor** Reverted adding `lid` to Copy Clean Link's global strip list after regressions in [bug 2068611](https://bugzilla.mozilla.org/show_bug.cgi?id=2068611). [bug 2007804](https://bugzilla.mozilla.org/show_bug.cgi?id=2007804)\n- **Web Platform** Reverted hardened drag handling after build bustage in `PointerLockManager.cpp`. [bug 2064287](https://bugzilla.mozilla.org/show_bug.cgi?id=2064287)\n- **Web Platform** Reverted `display: grid-lanes` after WebRender test failures in `/css/css-anchor-position/grid-lanes-position-area-basic.html`. [bug 1995348](https://bugzilla.mozilla.org/show_bug.cgi?id=1995348)\n- **Build** Reverted improved clang-tidy whitelist generation after SpiderMonkey build bustage on `uset.h`. [bug 2068128](https://bugzilla.mozilla.org/show_bug.cgi?id=2068128)\n- **Refactor** Reverted an auto-formatting change after build bustage in `nsDocShellLoadState.cpp`. [bug 2049792](https://bugzilla.mozilla.org/show_bug.cgi?id=2049792)\n- **A11y** Reverted numeric value change events after Android GeckoView junit failures. [bug 1981648](https://bugzilla.mozilla.org/show_bug.cgi?id=1981648)\n- **Perf** Reverted baseline stackmap frame-height validation after jit failures in `baseline-stack-height-during-stackmap.js`. [bug 2042743](https://bugzilla.mozilla.org/show_bug.cgi?id=2042743)\n- **Web Platform** Reverted automatic container-size-based `line-clamp` after WPT failures in `line-clamp-balance-005.html`. [bug 2043002](https://bugzilla.mozilla.org/show_bug.cgi?id=2043002)\n- **Security** Reverted moving `wasm::CodeExists` updates inside the critical section after build bustage. [bug 2060057](https://bugzilla.mozilla.org/show_bug.cgi?id=2060057)\n- **UI** Reverted content-color-scheme-aware alert, confirm, and prompt dialogs after a browser-chrome failure in `browser_ext_themes_pbm.js`. [bug 2063281](https://bugzilla.mozilla.org/show_bug.cgi?id=2063281)\n- **Web Platform** Reverted dropping sparse-array support in `SpreadMathMinMax` after SpiderMonkey bustage. [bug 2068385](https://bugzilla.mozilla.org/show_bug.cgi?id=2068385)",
  "repo": "firefox",
  "repoDisplay": "Firefox",
  "rollGroups": [
    {
      "name": "No",
      "count": 4
    },
    {
      "name": "Merge",
      "count": 1
    }
  ],
  "since": "2026-09-04",
  "totals": {
    "commits": 187,
    "features": 182,
    "rolls": 5
  },
  "until": "2026-09-04"
}