{
  "commits": {
    "1080686d04e8": {
      "author": "Serban Stanca",
      "avatar": "https://www.gravatar.com/avatar/977312186062f329a7e4302ab972ae7b?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "This reverts commit 2b6c7f4fe5c0a63da0831dbacff2f3b193b5243f.",
      "email": "sstanca@mozilla.com",
      "hash": "1080686d04e8327a666ff48422a10c68cb777c42",
      "subject": "Revert \"Bug 2063602 - [efficiency] Do not fail a test when closeSoftKeyboard() cannot hide the keyboard r=aaronmt\" as requested by @jajohnson for wrongly assigned the bug number."
    },
    "16b0062e4db7": {
      "author": "iulian moraru",
      "avatar": "https://www.gravatar.com/avatar/348b805af88f773829064778b66be468?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "This reverts commit 2a83e4d921f4f0e40309e0f98553a9aa3bffa59c.",
      "email": "imoraru@mozilla.com",
      "hash": "16b0062e4db7a6b6acfa655359752156d2cb0e8b",
      "subject": "Revert \"Bug 2031524 - Add WPT for VideoFrame.copyTo opaque/alpha format conversion r=media-playback-reviewers,padenot\" for causing android webcodecs failures on videoFrame-copyTo-opaque-swizzle.https.any.html."
    },
    "449eb52bd631": {
      "author": "Sebastian Hengst",
      "avatar": "https://www.gravatar.com/avatar/4aaa2a4137aa4762d4bcd28ace9cb367?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "This reverts commit 2249487a6342b58457ad6ef278f04dda550e1b92.\n\nRevert \"Bug 2064279 - Gate the search-terms persistence check on the address bar. r=mbeier,urlbar-reviewers\"\n\nThis reverts commit 85641c7382b350a7bf99e68d845034e9c4966476.\n\nRevert \"Bug 2064185 - Read the default user context id without Ci. r=mbeier,urlbar-reviewers\"\n\nThis reverts commit 94c61e00ae3537ab448ea3c91c65b5d572d9a4a2.\n\nRevert \"Bug 2062987 - Give the content prefs shim getScotchBonnetPref. r=mbeier,urlbar-reviewers\"\n\nThis reverts commit 9e158acf0ff97f73d44485745e880170fa23e379.\n\nRevert \"Bug 2064185 - Observe the AI window's state only from a chrome window. r=mbeier,urlbar-reviewers\"\n\nThis reverts commit 77413f0a5fc42f3da119e4205876811966cfbff5.\n\nRevert \"Bug 2064279 - Defer the placeholder update to a tab switch only in the address bar. r=mbeier,urlbar-reviewers\"\n\nThis reverts commit cc877b194274934219c63e161c92fe662e1a1c98.\n\nRevert \"Bug 2064279 - Gate the copy/cut controller on the address bar. r=mbeier,urlbar-reviewers\"\n\nThis reverts commit 4ef9eb707145832c2a8a961317f47800022c8ddc.\n\nRevert \"Bug 2064277 - Build the query context in the realm that reads it. r=mbeier,urlbar-reviewers\"\n\nThis reverts commit 85259daf3a6feb16001501aced19e3e02ad6c056.\n\nRevert \"Bug 2064277 - Clone parent-sent payloads into the content realm. r=mbeier\"\n\nThis reverts commit de9e8ba6b7a689b11d2e7173868af7398f7cbee9.\n\nRevert \"Bug 2064276 - Drop the markup's whitespace text nodes. r=mbeier\"\n\nThis reverts commit e3871704dde74a22fcb78aebf4303344450f1e19.\n\nRevert \"Bug 2064276 - Parse the input's markup with DOMParser. r=mbeier,urlbar-reviewers\"\n\nThis reverts commit 6f9220dcc14be23d5a39a4ace0145e8bbe2455ef.",
      "email": "aryx.github@gmx-topmail.de",
      "hash": "449eb52bd6318f8b2d06d1aaec5b2dca30f59c25",
      "subject": "Revert \"Bug 2062209 - Scope the Urlbar actor to about:newtab and about:home. r=mconley,mbeier\" for causing merge conflict with its own backout"
    },
    "4569a90f38ae": {
      "author": "Serban Stanca",
      "avatar": "https://www.gravatar.com/avatar/977312186062f329a7e4302ab972ae7b?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "This reverts commit 1d7f03630636f54645794abe52971c47cf56d850.\n\nThis reverts commit 05ee1074fca54a5ed69f139c004272bd96777ac7.\n\nThis reverts commit 90e9f1948de3b00251d1098525c02bea4c09370d.\n\nThis reverts commit 079de8d1ed04824e4bf024b3356512288c7005a8.\n\nThis reverts commit c56714d45b3c92722a2e3602037cb5bfe4d19329.\n\nThis reverts commit fb9db6e8877dafbb8fe5cbef5bfa5c814342690c.",
      "email": "sstanca@mozilla.com",
      "hash": "4569a90f38ae3ddf185cd1dcda22bcfda415eb9b",
      "subject": "Revert \"Bug 2063946 - More glean events for the Containers UI - part 7 - Sync tabs menu r=mconley\" for causing mochitests failures in browser_library_container_menu.js."
    },
    "4abe827f6c93": {
      "author": "Serban Stanca",
      "avatar": "https://www.gravatar.com/avatar/977312186062f329a7e4302ab972ae7b?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "This reverts commit e00a96bdf858dcb6fc29e585ef2f4f7fa72be048.\n\nThis reverts commit 69cdce10fed3779a93074dcc505acdf5d1114e81.\n\nThis reverts commit f1b48ae625b036bd642a34e44b13b35cbe714340.\n\nThis reverts commit e4fbb3f30c8e6cfee292f757516aa247e533b868.\n\nThis reverts commit d7435c3ede7e687f7fbcba938dbebf97968e78b1.\n\nThis reverts commit e0baa9504fa5f28c20496dcf8ac642cd49c5c412.\n\nThis reverts commit aa895826ce3d1c232358408e254d2127727db459.\n\nThis reverts commit e7e50f5e61bad7ee664a371954c9893b7e1d292a.\n\nThis reverts commit 56467e58ed367be5f21b138eb564f3e1804c26d8.\n\nThis reverts commit fcee5de428a020254b167e92a84e4e85932ab130.",
      "email": "sstanca@mozilla.com",
      "hash": "4abe827f6c93b7fdc58e3001ede9c485519611ad",
      "subject": "Revert \"Bug 2062209, Bug 2064279, Bug 2064185, Bug 2062987, Bug 2064277, Bug 2064276 - Scope the Urlbar actor to about:newtab and about:home. r=mconley,mbeier\" for causing mochitests failures in browser_searchbar_new.js."
    },
    "4dceb649e0c5": {
      "author": "agoloman",
      "avatar": "https://www.gravatar.com/avatar/cd12c4a70c28dead95af1f72ff892316?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "This reverts commit 9b9a66c71c0ca5845bb89a1d1cf8a080b4506dc1.\n\nRevert \"Bug 2044846 - Add per-test Chrome arguments to Raptor. r=perftest-reviewers,sparky\"\n\nThis reverts commit d65b60c4a9f9231885f95bfa9b7fb140750d6674.",
      "email": "agoloman@mozilla.com",
      "hash": "4dceb649e0c561376344c6c91063c07fc81c881a",
      "subject": "Revert \"Bug 2044846 - Enable camera VideoEncoder tests on Chrome and custom-car. r=perftest-reviewers,sparky\" for causing lint failures."
    },
    "6102a1e76882": {
      "author": "iulian moraru",
      "avatar": "https://www.gravatar.com/avatar/348b805af88f773829064778b66be468?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "This reverts commit 4ff6f4a4070fcf715c2d041eda3dd486929fe7d2.\n\nRevert \"Bug 2063717, part 4 - Hard code the services file. r=xpcom-reviewers,emilio\"\n\nThis reverts commit bcc738d3ae90d390cd8f2ae8ba6b15d5f2047bec.\n\nRevert \"Bug 2063717, part 3 - Remove unused things from Services.py. r=xpcom-reviewers,emilio\"\n\nThis reverts commit 06da403d0ebff088383242efecaaa8fba316a4de.\n\nRevert \"Bug 2063717, part 2 - Replace uses of services::GetAsyncShutdownService(). r=xpcom-reviewers,webrtc-reviewers,places-reviewers,media-playback-reviewers,emilio,padenot,pehrsons,Standard8\"\n\nThis reverts commit 874a3483e3574848f6aacfce6bcdfcd8a9d2083e.\n\nRevert \"Bug 2063717, part 1 - Replace uses of services::GetIOService(), ::GetChromeRegistry() and ::GetPermissionManager(). r=xpcom-reviewers,media-playback-reviewers,emilio,padenot\"\n\nThis reverts commit 87135e278c890bfb2e3e0e66135990528206fa8e.",
      "email": "imoraru@mozilla.com",
      "hash": "6102a1e76882703bc20a06d0d0ad2c478223d89b",
      "subject": "Revert \"Bug 2063717, part 5 - A few minor cleanups to the generated Services files. r=xpcom-reviewers,emilio\" for causing build bustages on nsChromeProtocolHandler.cpp."
    },
    "8f2a496a039d": {
      "author": "Serban Stanca",
      "avatar": "https://www.gravatar.com/avatar/977312186062f329a7e4302ab972ae7b?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "This reverts commit f60720040c58c42fd2a59e414bf78447638f2408.",
      "email": "sstanca@mozilla.com",
      "hash": "8f2a496a039d5e800be4fab262e672543e94d775",
      "subject": "Revert \"Bug 2064596 - Exclude border/padding when applying text-box-trim to inline boxes. r=layout-reviewers,dshin\" for causing wpt failures in text-box-trim-inline-box-005.html."
    },
    "91c8ca3faa6c": {
      "author": "Serban Stanca",
      "avatar": "https://www.gravatar.com/avatar/977312186062f329a7e4302ab972ae7b?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "This reverts commit e00a96bdf858dcb6fc29e585ef2f4f7fa72be048.\n\nThis reverts commit 69cdce10fed3779a93074dcc505acdf5d1114e81.\n\nThis reverts commit f1b48ae625b036bd642a34e44b13b35cbe714340.\n\nThis reverts commit e4fbb3f30c8e6cfee292f757516aa247e533b868.\n\nThis reverts commit d7435c3ede7e687f7fbcba938dbebf97968e78b1.\n\nThis reverts commit e0baa9504fa5f28c20496dcf8ac642cd49c5c412.\n\nThis reverts commit aa895826ce3d1c232358408e254d2127727db459.\n\nThis reverts commit e7e50f5e61bad7ee664a371954c9893b7e1d292a.\n\nThis reverts commit 56467e58ed367be5f21b138eb564f3e1804c26d8.\n\nThis reverts commit fcee5de428a020254b167e92a84e4e85932ab130.",
      "email": "sstanca@mozilla.com",
      "hash": "91c8ca3faa6ccbb72d65d89401fd31fd3313afc4",
      "subject": "Revert \"Bug 2062209, Bug 2064279, Bug 2064185, Bug 2062987, Bug 2064277, Bug 2064276 - Scope the Urlbar actor to about:newtab and about:home. r=mconley,mbeier\" for causing mochitests failures in browser_searchbar_new.js."
    },
    "999464fe3c9d": {
      "author": "Serban Stanca",
      "avatar": "https://www.gravatar.com/avatar/977312186062f329a7e4302ab972ae7b?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "This reverts commit 899a7381c0b1f83a7bc445376c7e08f070c0ecac.",
      "email": "sstanca@mozilla.com",
      "hash": "999464fe3c9d9e9852a62af6d16fd72f9607cb05",
      "subject": "Revert \"Bug 2053212 - Don't clear the status bar just because the frame was reframed. r=smaug\" for causing bp-nu bustages."
    },
    "D294066": {
      "author": "Chun-Min Chang",
      "avatar": "https://www.gravatar.com/avatar/8092c68fbfa26b5e17e2265e612bd1c3?d=identicon\u0026s=64",
      "cl": "D294066",
      "clUrl": "https://phabricator.services.mozilla.com/D294066",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D294066",
      "email": "chun.m.chang@gmail.com",
      "hash": "2a83e4d921f4f0e40309e0f98553a9aa3bffa59c",
      "subject": "Bug 2031524 - Add WPT for VideoFrame.copyTo opaque/alpha format conversion r=media-playback-reviewers,padenot"
    },
    "D294732": {
      "author": "Philipp Hancke",
      "avatar": "https://www.gravatar.com/avatar/decc716ed83a70bd5b451eef8d69c8d4?d=identicon\u0026s=64",
      "cl": "D294732",
      "clUrl": "https://phabricator.services.mozilla.com/D294732",
      "description": "which lets applications negotiate the datachannel SDP without\ncreating a throwaway datachannel upfront.\n\nStandards position:\n  https://github.com/mozilla/standards-positions/issues/1335\n\nDifferential Revision: https://phabricator.services.mozilla.com/D294732",
      "email": "philipp.hancke@googlemail.com",
      "hash": "ca4fce5c5859f3dddd044bfdc8557909adc26802",
      "subject": "Bug 2022715: implement RTCConfiguration.alwaysNegotiateDataChannels r=bwc,webidl,saschanaz,smaug"
    },
    "D302841": {
      "author": "Ifeanyi Chima",
      "avatar": "https://www.gravatar.com/avatar/a7ecb8566366975ab1ec63bdbc8fcb5f?d=identicon\u0026s=64",
      "cl": "D302841",
      "clUrl": "https://phabricator.services.mozilla.com/D302841",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D302841",
      "email": "chimaifeanyi29@gmail.com",
      "hash": "813f344938a8ef77d0d98776930dc67bf69b54ee",
      "subject": "Bug 2041444 - Change h1 to h2 in backup dialog headings for correct heading structure r=mstriemer,fchasen"
    },
    "D304620": {
      "author": "Chun-Min Chang",
      "avatar": "https://www.gravatar.com/avatar/8092c68fbfa26b5e17e2265e612bd1c3?d=identicon\u0026s=64",
      "cl": "D304620",
      "clUrl": "https://phabricator.services.mozilla.com/D304620",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D304620",
      "email": "chun.m.chang@gmail.com",
      "hash": "9b9a66c71c0ca5845bb89a1d1cf8a080b4506dc1",
      "subject": "Bug 2044846 - Enable camera VideoEncoder tests on Chrome and custom-car. r=perftest-reviewers,sparky"
    },
    "D306577": {
      "author": "Chun-Min Chang",
      "avatar": "https://www.gravatar.com/avatar/8092c68fbfa26b5e17e2265e612bd1c3?d=identicon\u0026s=64",
      "cl": "D306577",
      "clUrl": "https://phabricator.services.mozilla.com/D306577",
      "description": "decodeAudioData resamples decoded audio to the destination OfflineAudioContext\nrate. Per the Web Audio spec, a decode whose resampled result is not\nrepresentable as an AudioBuffer must reject with EncodingError rather than\ntruncate.\n\nThe test decodes a spec-valid 683-frame 8 kHz mono FLAC into a 768 kHz context.\nA flac-builder.js helper synthesizes the FLAC in memory.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D306577",
      "email": "chun.m.chang@gmail.com",
      "hash": "b8fd183c5b99507b0168969452ecddcfe0658601",
      "subject": "Bug 2045415 - Add WPT for decodeAudioData into a much higher context rate r=karlt"
    },
    "D310891": {
      "author": "akizu matsuo",
      "avatar": "https://www.gravatar.com/avatar/8594a87ceac5cc3af9b5ab76852d2e57?d=identicon\u0026s=64",
      "cl": "D310891",
      "clUrl": "https://phabricator.services.mozilla.com/D310891",
      "description": "ClearFrameRefs unconditionally cleared the status bar even if the\ncontent was still in the document (e.g. when a CSS change caused the\nframe to be reframed).\nInstead of clearing the status bar immediately, defer the check to after\nthe RefreshDriver tick.\n\nRegressed by: Bug 2023374\n\nDifferential Revision: https://phabricator.services.mozilla.com/D310891",
      "email": "pettyblue@proton.me",
      "hash": "899a7381c0b1f83a7bc445376c7e08f070c0ecac",
      "subject": "Bug 2053212 - Don't clear the status bar just because the frame was reframed. r=smaug"
    },
    "D312712": {
      "author": "Rob Wu",
      "avatar": "https://www.gravatar.com/avatar/30e26944b9b786ea16fce8b18394c6e4?d=identicon\u0026s=64",
      "cl": "D312712",
      "clUrl": "https://phabricator.services.mozilla.com/D312712",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D312712",
      "email": "rob@robwu.nl",
      "hash": "ad5db99e4d2e00e9b5db2700c69050d709c7f340",
      "subject": "Bug 2055827 - Avoid \"Couldn't create child process.\" crash on debug at shutdown r=smaug"
    },
    "D312750": {
      "author": "Julien Cristau",
      "avatar": "https://www.gravatar.com/avatar/15b9b3783e4671cd882bff1316df14c9?d=identicon\u0026s=64",
      "cl": "D312750",
      "clUrl": "https://phabricator.services.mozilla.com/D312750",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D312750",
      "email": "jcristau@mozilla.com",
      "hash": "e8b089ad96130d861a753af6d62ee96c6a8ee545",
      "subject": "Bug 2055837 - use uv in browsertime tasks. r=taskgraph-reviewers,bhearsum"
    },
    "D312753": {
      "author": "Julien Cristau",
      "avatar": "https://www.gravatar.com/avatar/15b9b3783e4671cd882bff1316df14c9?d=identicon\u0026s=64",
      "cl": "D312753",
      "clUrl": "https://phabricator.services.mozilla.com/D312753",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D312753",
      "email": "jcristau@mozilla.com",
      "hash": "b4856d3df2dc532291581388cd3eea979f932058",
      "subject": "Bug 2055837 - use uv in test tasks. r=taskgraph-reviewers,bhearsum"
    },
    "D312754": {
      "author": "Julien Cristau",
      "avatar": "https://www.gravatar.com/avatar/15b9b3783e4671cd882bff1316df14c9?d=identicon\u0026s=64",
      "cl": "D312754",
      "clUrl": "https://phabricator.services.mozilla.com/D312754",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D312754",
      "email": "jcristau@mozilla.com",
      "hash": "3a1e4ec2bb8b0598e49ecaa2882c77438a23839a",
      "subject": "Bug 2055837 - use uv in web-platform-tests tasks. r=taskgraph-reviewers,bhearsum"
    },
    "D314860": {
      "author": "Vincent Hilla",
      "avatar": "https://www.gravatar.com/avatar/a8fd53ad2b0e29c7dcd466d08a6c4b4a?d=identicon\u0026s=64",
      "cl": "D314860",
      "clUrl": "https://phabricator.services.mozilla.com/D314860",
      "description": "Per spec, javascript: URIs are never stored in SH. Neither has this code test\ncoverage, nor does the test on the bug that introduced it still pass.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D314860",
      "email": "vhilla@mozilla.com",
      "hash": "45623555c7da72196c4490060c3b251e10cdad5e",
      "subject": "Bug 2055693 - Remove dead javascript: URI handling in LoadHistoryEntry. r=nika"
    },
    "D315043": {
      "author": "William McDonald",
      "avatar": "https://www.gravatar.com/avatar/8cbb44c80c0d84d6d7b666470ec364b7?d=identicon\u0026s=64",
      "cl": "D315043",
      "clUrl": "https://phabricator.services.mozilla.com/D315043",
      "description": "Use regular nomination with ICE-Lite peers and cover peer-reflexive candidates.\n\nAlso addresses Bug 2054513: ChatGPT voice connection loss after 30 seconds.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D315043",
      "email": "wmcd@openai.com",
      "hash": "3789074e335c0838af96e82ce87ae82ca48930a0",
      "subject": "Bug 1034964 - Use regular nomination with ICE-Lite peers. r=webrtc-reviewers,bwc"
    },
    "D315245": {
      "author": "Kershaw Chang",
      "avatar": "https://www.gravatar.com/avatar/608e04ebca94be52b05c003d51d43e07?d=identicon\u0026s=64",
      "cl": "D315245",
      "clUrl": "https://phabricator.services.mozilla.com/D315245",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D315245",
      "email": "kershaw@mozilla.com",
      "hash": "b3ff65bfcf2872751eb94d5ec620e7e1754cd616",
      "subject": "Bug 2058660 -  Retarget WebTransportSessionProxy before activating queued streams, r=necko-reviewers,jesup"
    },
    "D315807": {
      "author": "Debadree Chatterjee",
      "avatar": "https://www.gravatar.com/avatar/eb405aa5f5271175c6a672efc0321ca8?d=identicon\u0026s=64",
      "cl": "D315807",
      "clUrl": "https://phabricator.services.mozilla.com/D315807",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D315807",
      "email": "debadree333@gmail.com",
      "hash": "fc9d369df353087ee29db4b719f53e8d11247bc9",
      "subject": "Bug 2040286 - Treat using bindings as non-writable like const. r=arai"
    },
    "D315941": {
      "author": "Lee Salzman",
      "avatar": "https://www.gravatar.com/avatar/029a38b9773f1943419c24b7c3d93761?d=identicon\u0026s=64",
      "cl": "D315941",
      "clUrl": "https://phabricator.services.mozilla.com/D315941",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D315941",
      "email": "lsalzman@mozilla.com",
      "hash": "f8193142ac81ce0393d8fff03f5c1ca0c451f062",
      "subject": "Bug 2060008. r=gfx-reviewers,nical"
    },
    "D316190": {
      "author": "Keri Grubb",
      "avatar": "https://www.gravatar.com/avatar/be0328ec5f5ae1f2a08e5af63f62f453?d=identicon\u0026s=64",
      "cl": "D316190",
      "clUrl": "https://phabricator.services.mozilla.com/D316190",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D316190",
      "email": "grubbke@oregonstate.edu",
      "hash": "fec53586cc347f021fbb3685f54d6d6652b2deaa",
      "subject": "Bug 2042422 - Remove needless borrows in labeled_memory_distribution.rs. r=TravisLong"
    },
    "D316429": {
      "author": "Steve Fink",
      "avatar": "https://www.gravatar.com/avatar/31f940cb8df709df2597484cda2b7f34?d=identicon\u0026s=64",
      "cl": "D316429",
      "clUrl": "https://phabricator.services.mozilla.com/D316429",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D316429",
      "email": "sfink@mozilla.com",
      "hash": "6a701ead99fd4d5d3f126d5483f3d1ad60e705cc",
      "subject": "Bug 2042790 - Document reasoning for our current string length limit r=jandem"
    },
    "D316432": {
      "author": "Erich Gubler",
      "avatar": "https://www.gravatar.com/avatar/4bbd2ecd016e674470b4de5f1620c88f?d=identicon\u0026s=64",
      "cl": "D316432",
      "clUrl": "https://phabricator.services.mozilla.com/D316432",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D316432",
      "email": "erichdongubler@gmail.com",
      "hash": "8b6cdc4f7726bdcc388416a35dfa76e4ec24a202",
      "subject": "Bug 2060712 - test(webgpu): update CTS to dc20b8682aa71ff31f135de6ae7f8acaa2e16383 r=webgpu-reviewers,aleiserson"
    },
    "D316763": {
      "author": "alin lastun",
      "avatar": "https://www.gravatar.com/avatar/59aa98683e895ba24835ab02aad86938?d=identicon\u0026s=64",
      "cl": "D316763",
      "clUrl": "https://phabricator.services.mozilla.com/D316763",
      "description": "Replace the plain Toast in SendToDevicesDialogFragment.sendAndDismiss with a\n      Snackbar, and add a RETRY action on failure.\n\n   Note: There will be more patches where we will add retry buttons to different snackbars.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D316763",
      "email": "alastun@mozilla.com",
      "hash": "921fd8d35a1313efca648f58fb0068ec8665a496",
      "subject": "Bug 1969984 - Part 1: Add retry action to the \"send to device\" failure snackbar from Tabs Tray r=android-reviewers,twhite"
    },
    "D316997": {
      "author": "Philipp Hancke",
      "avatar": "https://www.gravatar.com/avatar/decc716ed83a70bd5b451eef8d69c8d4?d=identicon\u0026s=64",
      "cl": "D316997",
      "clUrl": "https://phabricator.services.mozilla.com/D316997",
      "description": "adding suppressions for the intentional overrides of IDL-defined globals.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D316997",
      "email": "philipp.hancke@googlemail.com",
      "hash": "9a4657446d4df765f35984af28edaa0c864ff85a",
      "subject": "Bug 2062561: rename variables to avoid shadowing in PeerConnection.sys.mjs r=pehrsons"
    },
    "D317122": {
      "author": "Emily McMinn",
      "avatar": "https://www.gravatar.com/avatar/831e82bca5555b28c9ad9c9fb0b6f4e8?d=identicon\u0026s=64",
      "cl": "D317122",
      "clUrl": "https://phabricator.services.mozilla.com/D317122",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D317122",
      "email": "emcminn@mozilla.com",
      "hash": "c5cf9479066e163c7f4e820aaaf92c281398a4a4",
      "subject": "Bug 2060283 - Basic layout and image positioning for FRO template r=omc-reviewers,mviar,emcminn"
    },
    "D317181": {
      "author": "Jed Davis",
      "avatar": "https://www.gravatar.com/avatar/0e698ba5145076e93cadb50d6e22edcf?d=identicon\u0026s=64",
      "cl": "D317181",
      "clUrl": "https://phabricator.services.mozilla.com/D317181",
      "description": "This appears to be benign — the code works as expected and isn't\ninvoking undefined behavior in the language standard — but it can\ncause false positives in testing.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D317181",
      "email": "jld@mozilla.com",
      "hash": "64ad87568a194bdd370b570330e18f34cf68028c",
      "subject": "Bug 2041758 - Fix trivial string indexing bug in Linux sandbox policy construction. r=Thinker,sandbox-reviewers"
    },
    "D317182": {
      "author": "Jed Davis",
      "avatar": "https://www.gravatar.com/avatar/0e698ba5145076e93cadb50d6e22edcf?d=identicon\u0026s=64",
      "cl": "D317182",
      "clUrl": "https://phabricator.services.mozilla.com/D317182",
      "description": "This makes dependent substrings consistent with nsTString and its\nsubclasses.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D317182",
      "email": "jld@mozilla.com",
      "hash": "5b377b9539a9d0601b9fd45137d9ebdb5cf225ce",
      "subject": "Bug 2061863 - Strengthen assertion in nsTStringRepr::CharAt. r=nika"
    },
    "D317309": {
      "author": "Haik Aftandilian",
      "avatar": "https://www.gravatar.com/avatar/6620d37f4370beced1bed4097c36d249?d=identicon\u0026s=64",
      "cl": "D317309",
      "clUrl": "https://phabricator.services.mozilla.com/D317309",
      "description": "Use -[NSWorkspace setDefaultApplicationAtURL:toOpenURLsWithScheme:] instead of\nLSSetDefaultHandlerForURLScheme() and LSSetDefaultRoleHandlerForContentType() to\nset the default browser on macOS 27+. We already use NSWorkspace this way to set\nthe default PDF handler.\n\nOn macOS 27 Beta, with LSSetDefaultHandlerForURLScheme() and\nLSSetDefaultRoleHandlerForContentType(), each call generates a confirmation\nprompt resulting in multiple prompts when the \"Make default\" button is pressed.\n\nThe NSWorkspace API is available on macOS 12+, but limit it to macOS 27+ for now\nto be conservative.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D317309",
      "email": "haftandilian@mozilla.com",
      "hash": "66c171bcd537725e908812c1a46ebbcf02f6d39a",
      "subject": "Bug 2061009 - Set default browser triggers two prompts on macOS 27 r!#mac-reviewers r=mac-reviewers,mstange"
    },
    "D317329": {
      "author": "Dan Mehic",
      "avatar": "https://www.gravatar.com/avatar/35f749b40d5be33dba6b8a826ad95151?d=identicon\u0026s=64",
      "cl": "D317329",
      "clUrl": "https://phabricator.services.mozilla.com/D317329",
      "description": "setupTest opens helper_set_cookie.html to set credential=authcookieval, but\nnothing waits for it. focusPromise is created before window.open and resolves\non the test window, so it says nothing about the popup, and fetchPromise is\nthe unrelated set_test request. navigator.credentials.get() therefore races\nthe cookie.\n\n11 of the 15 server_*_accounts.sjs endpoints answer 400 when the cookie is\nabsent, which fails the FedCM flow and rejects get(), surfacing as\n\"must not have an error\".\n\nHave the popup postMessage its opener before closing and wait for that. The\ncookie comes from the popup's response headers, so it is already committed by\nthe time the popup's script runs.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D317329",
      "email": "dmehic@mozilla.com",
      "hash": "92cd30db1024545541f9c7b661e6fb839b85c957",
      "subject": "Bug 1964322 - Wait for the IdP cookie popup in setupTest r=baku"
    },
    "D317411": {
      "author": "Florian Quèze",
      "avatar": "https://www.gravatar.com/avatar/0ffa237c82d28773736b6c9688b404e3?d=identicon\u0026s=64",
      "cl": "D317411",
      "clUrl": "https://phabricator.services.mozilla.com/D317411",
      "description": "A leaked popup covers the browser for the next test file, which then gets\nblamed for the failures it causes, and isGloballyBlockingOpenPopup makes\nopenPopup() refuse outright while one is open.\n\nThe check ends any hover with a synthesized mousecancel first: there is no\ninert point in the browser window to move the pointer to, and mouseout is\nrewritten into a mousemove at the given point, which left tab previews open.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D317411",
      "email": "florian@queze.net",
      "hash": "df85e986bfd6f77538111ca7a23e16621af5ac8d",
      "subject": "Bug 2062145 - Report tests that leave a panel or menupopup open at the end of the test file, r=Gijs."
    },
    "D317420": {
      "author": "Jens Stutte",
      "avatar": "https://www.gravatar.com/avatar/9dcff4a8838b41f34d204c2f4cadbcc4?d=identicon\u0026s=64",
      "cl": "D317420",
      "clUrl": "https://phabricator.services.mozilla.com/D317420",
      "description": "nsJARChannel read the gJarHandler global directly in five places. Since bug\n1412726 that global is a StaticRefPtr cleared by ClearOnShutdown, so it can be\nnull while channels are still alive and opening a channel during late shutdown\ncrashes. The owning reference the channel takes in its constructor kept the\nhandler object alive but stopped protecting the global, and has had no readers\nsince that same bug.\n\nAdd shutdown safe accessors that return null once the singleton is gone, use\nthem for all of those accesses and fail the channel with\nNS_ERROR_ILLEGAL_DURING_SHUTDOWN instead. Drop the unused mJarHandler member.\n\nWhile here, EnsureCached can use the accessor instead of fetching the handler\nthrough the IO service and downcasting the result.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D317420",
      "email": "jstutte@mozilla.com",
      "hash": "4ea762f8d52e17c12738d702f5c8db36bbcf22c2",
      "subject": "Bug 2062119 - Do not dereference gJarHandler after it has been cleared at shutdown. r=necko-reviewers,valentin"
    },
    "D317421": {
      "author": "Jens Stutte",
      "avatar": "https://www.gravatar.com/avatar/9dcff4a8838b41f34d204c2f4cadbcc4?d=identicon\u0026s=64",
      "cl": "D317421",
      "clUrl": "https://phabricator.services.mozilla.com/D317421",
      "description": "Chrome JS module loading reads from omni.ja through jar channels, and\nmozJSModuleLoader::UnloadLoaders() runs after the XPCOMShutdownFinal phase,\nwhich is the default phase for ClearOnShutdown. The handler was therefore\ncleared while chrome JS modules could still be imported, leaving a window in\nwhich those imports and any other late jar access fail.\n\nClear it at CCPostLastCycleCollection instead, which runs after UnloadLoaders().\n\nDifferential Revision: https://phabricator.services.mozilla.com/D317421",
      "email": "jstutte@mozilla.com",
      "hash": "894994ff7a160de1a5bc6ad1963f4dfd162b1ee7",
      "subject": "Bug 2062119 - Clear the jar protocol handler after the JS module loader is gone. r=necko-reviewers,xpcom-reviewers,valentin,nika"
    },
    "D317431": {
      "author": "alin lastun",
      "avatar": "https://www.gravatar.com/avatar/59aa98683e895ba24835ab02aad86938?d=identicon\u0026s=64",
      "cl": "D317431",
      "clUrl": "https://phabricator.services.mozilla.com/D317431",
      "description": "Add a 'Retry' button to error snackbars for add-on operations (enable, disable, uninstall), allowing the user to retry the failed operation directly instead of manually repeating the action\n\n   Note: There will be more patches where we will add retry buttons to different snackbars.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D317431",
      "email": "alastun@mozilla.com",
      "hash": "2c525ed89199c45414d54ffb6d8e8b888edacc09",
      "subject": "Bug 1969984 - Part 2: Add retry action to add-on enable/disable/uninstall failure snackbars r=android-reviewers,android-l10n-reviewers,android-addons-reviewers,lmccracken,parker,rpl"
    },
    "D317559": {
      "author": "Bob Owen",
      "avatar": "https://www.gravatar.com/avatar/8877ff082c9a902bbf383dc11c1aeffc?d=identicon\u0026s=64",
      "cl": "D317559",
      "clUrl": "https://phabricator.services.mozilla.com/D317559",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D317559",
      "email": "bobowencode@gmail.com",
      "hash": "e10c28b6089829a4021f979cb878ead9224a1a89",
      "subject": "Bug 2058087 p1 - Pre-create shader-cache to allow read only rule. r=handyman,sandbox-reviewers"
    },
    "D317560": {
      "author": "Bob Owen",
      "avatar": "https://www.gravatar.com/avatar/8877ff082c9a902bbf383dc11c1aeffc?d=identicon\u0026s=64",
      "cl": "D317560",
      "clUrl": "https://phabricator.services.mozilla.com/D317560",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D317560",
      "email": "bobowencode@gmail.com",
      "hash": "a38fbc3460761804047f3c1bf171122095d389ea",
      "subject": "Bug 2058087 p2 - Block directory creation and only allow read access. r=handyman,sandbox-reviewers"
    },
    "D317694": {
      "author": "Timothy Nikkel",
      "avatar": "https://www.gravatar.com/avatar/0646a42110a02dd585f200f270716852?d=identicon\u0026s=64",
      "cl": "D317694",
      "clUrl": "https://phabricator.services.mozilla.com/D317694",
      "description": "Bug 2052246 converted the NEON swizzle specializations to take and return\nxsimd::batch\u003cT, Arch\u003e but kept the bodies of the old hand written intrinsics,\nwhich mix vreinterpretq suffixes that no longer match the element type of the\nbatch they are given. On NEON each batch has exactly one register type, so\nbatch\u003cuint8_t, Arch\u003e is uint8x16_t, batch\u003cuint16_t, Arch\u003e is uint16x8_t and\nbatch\u003cuint32_t, Arch\u003e is uint32x4_t. clang enables lax vector conversions by\ndefault and silently bitcasts between same width integer vector types, so the\nmismatches compiled anyway. GCC has no such conversion and rejects all of them.\nThis cannot happen on x86 because every integer batch there maps to the same\n__m128i or __m256i, so a mismatched suffix is never a type error, and it did not\nshow up in CI because we build with clang on every platform.\n\nAdd the reinterprets needed to get to and from the register type each batch\nactually has. They are all bitcasts, so the generated code is identical.\n\nSwizzleVector_SIMD is constrained to xsimd::neon and so is only instantiated on\n32 bit ARM, which is why the aarch64 build did not report it. It has the same\nproblem, plus a conditional operator whose two arms end up as uint16x8_t and\nuint8x16_t, so fix it here too.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D317694",
      "email": "tnikkel@gmail.com",
      "hash": "cd626924710ef8b882a7d70a8c3719c2917255cd",
      "subject": "Bug 2059333. Use explicit reinterprets in the NEON swizzle specializations so they build with GCC. r=aosmond,lsalzman,gfx-reviewers"
    },
    "D317695": {
      "author": "Timothy Nikkel",
      "avatar": "https://www.gravatar.com/avatar/0646a42110a02dd585f200f270716852?d=identicon\u0026s=64",
      "cl": "D317695",
      "clUrl": "https://phabricator.services.mozilla.com/D317695",
      "description": "SwizzleVector_SIMD has an unconstrained generic definition in SwizzleGeneric.h\nand, until now, an overload in SwizzleNEON.h constrained to xsimd::neon.\nProcessRow_SIMD and Process_SIMD take the op as a deduced non type template\nparameter, so naming SwizzleVector_SIMD there forms the address of an overload\nset. With xsimd::neon64 the constraint is not satisfied and only the generic\ncandidate is left, but on 32 bit ARM both are viable. C++20 says the more\nconstrained candidate wins, and clang implements that, but GCC does not here and\ncalls the conversion ambiguous, so 32 bit ARM does not build. GCC 15 still\nbehaves this way.\n\nThe specialization is at the wrong level though. The reason arm wants it is that\nthere is no xsimd::swizzle vectorization, and xsimd::shuffle is used by\nSwapRB8_SIMD, not by SwizzleVector_SIMD. SSE2 already handles the same problem\nthe same way: it has no pshufb, so it specializes SwapRB8_SIMD and leaves\nSwizzleVector_SIMD alone.\n\nSpecialize SwapRB8_SIMD for xsimd::neon with the swap taken out of the old\nSwizzleVector_SIMD, and drop the SwizzleVector_SIMD specialization. SwapRB8_SIMD\nis only ever called, never named as a template argument, so GCC resolves it with\nordinary overload resolution, which it does implement. SwizzleGeneric.h does not\nneed to change at all.\n\nThe generated code is equivalent. On aarch64 it is identical. On armv7 the opcode\nhistogram is the same except that some of the selects come out as vbif or vbit\nrather than vbsl, 30 selects and 1592 instructions either way.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D317695",
      "email": "tnikkel@gmail.com",
      "hash": "345ae1a275ae5fdf72095879d21b8a1e8a329947",
      "subject": "Bug 2061106. Give arm a SwapRB8_SIMD specialization instead of a SwizzleVector_SIMD one, so GCC can resolve it. r=aosmond,lsalzman,gfx-reviewers"
    },
    "D317772": {
      "author": "Florian Quèze",
      "avatar": "https://www.gravatar.com/avatar/0ffa237c82d28773736b6c9688b404e3?d=identicon\u0026s=64",
      "cl": "D317772",
      "clUrl": "https://phabricator.services.mozilla.com/D317772",
      "description": "A popup's contents are only interactive once it is open, so a click that lands\nin one that is still opening silently does nothing, and the test carries on as\nif it had. That is a source of low frequency intermittent failures, of which the\na11y checks were the only smoke: they run on a subset of the configurations and\nreport it as \"Node is not focusable via the accessibility API\", which sends\npeople looking for a missing tabindex.\n\nCheck it on every click in browser-chrome instead. This is a new file rather\nthan part of AccessibilityUtils, which only runs under a11y_checks.\n\nClicks on a node with no box are reported as a todo rather than a failure: those\nare popups the test never opened, which is the same mistake but too widespread\nto fail on yet, see bug 2063575.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D317772",
      "email": "florian@queze.net",
      "hash": "d9012211d4b9ccc9a53cf7d20fe47cf1cedbd6ca",
      "subject": "Bug 2062572 - Fail tests that click inside a popup that is not open, r=firefox-desktop-core-reviewers ,mossop."
    },
    "D317850": {
      "author": "fmasalha",
      "avatar": "https://www.gravatar.com/avatar/02500fde5854e7c728e2c05a7f23750f?d=identicon\u0026s=64",
      "cl": "D317850",
      "clUrl": "https://phabricator.services.mozilla.com/D317850",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D317850",
      "email": "fmasalha@mozilla.com",
      "hash": "1be3c13e2a01574905e1e2010afe49acdaf1b04f",
      "subject": "Bug 2020488 - Removed the duplicate SummarizationSettingsCache r=android-reviewers,matt-tighe"
    },
    "D317851": {
      "author": "fmasalha",
      "avatar": "https://www.gravatar.com/avatar/02500fde5854e7c728e2c05a7f23750f?d=identicon\u0026s=64",
      "cl": "D317851",
      "clUrl": "https://phabricator.services.mozilla.com/D317851",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D317851",
      "email": "fmasalha@mozilla.com",
      "hash": "2bd1a04884a83ca458baffe331733cd44d0c4fa8",
      "subject": "Bug 2020488 - Made the summarize settings learn more link state-driven r=android-reviewers,matt-tighe"
    },
    "D317852": {
      "author": "fmasalha",
      "avatar": "https://www.gravatar.com/avatar/02500fde5854e7c728e2c05a7f23750f?d=identicon\u0026s=64",
      "cl": "D317852",
      "clUrl": "https://phabricator.services.mozilla.com/D317852",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D317852",
      "email": "fmasalha@mozilla.com",
      "hash": "393c7cbdf7727d2293bb0eb1de2b7830ebd2287f",
      "subject": "Bug 2020488 - Embedded the summarize settings in the summarization store r=android-reviewers,matt-tighe"
    },
    "D317940": {
      "author": "Ryan VanderMeulen",
      "avatar": "https://www.gravatar.com/avatar/51823ded02903fa76c961fe2a3c1318a?d=identicon\u0026s=64",
      "cl": "D317940",
      "clUrl": "https://phabricator.services.mozilla.com/D317940",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D317940",
      "email": "rvandermeulen@mozilla.com",
      "hash": "c8e52963f94fa55c5e1b8cd5b32950d1d160685b",
      "subject": "Bug 2062669 - Update Adjust SDK to version 5.8.0 r=android-reviewers,Roger"
    },
    "D317956": {
      "author": "Dale Harvey",
      "avatar": "https://www.gravatar.com/avatar/030451d8cfc268d666bae9a7fe8d10ec?d=identicon\u0026s=64",
      "cl": "D317956",
      "clUrl": "https://phabricator.services.mozilla.com/D317956",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D317956",
      "email": "dale@arandomurl.com",
      "hash": "adc7fd1ba540e9202eabc7ccb7b4a94872340826",
      "subject": "Bug 2062783 - Use moz-src for sessionstore. r=Gijs,omc-reviewers,migration-reviewers,firefox-desktop-core-reviewers ,jswinarton,hsohaney,sclements,aminomancer,perftest-reviewers,kshampur"
    },
    "D318175": {
      "author": "Bob Owen",
      "avatar": "https://www.gravatar.com/avatar/8877ff082c9a902bbf383dc11c1aeffc?d=identicon\u0026s=64",
      "cl": "D318175",
      "clUrl": "https://phabricator.services.mozilla.com/D318175",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D318175",
      "email": "bobowencode@gmail.com",
      "hash": "01588cb04198c290d362cad17ab54e419aa2102f",
      "subject": "Bug 2058101 - Use OpenKeyAction for RegistryDispatcher::NtCreateKey. r=handyman,sandbox-reviewers"
    },
    "D318382": {
      "author": "Masayuki Nakano",
      "avatar": "https://www.gravatar.com/avatar/900caab146bc7a489b3854cf10acf93f?d=identicon\u0026s=64",
      "cl": "D318382",
      "clUrl": "https://phabricator.services.mozilla.com/D318382",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D318382",
      "email": "masayuki@d-toybox.com",
      "hash": "093c49de7114378cf9692ea410b7ea489fb96f34",
      "subject": "Bug 2061556 - part 1: Improve logging code in `IMEStateManager` r=m_kato"
    },
    "D318383": {
      "author": "Masayuki Nakano",
      "avatar": "https://www.gravatar.com/avatar/900caab146bc7a489b3854cf10acf93f?d=identicon\u0026s=64",
      "cl": "D318383",
      "clUrl": "https://phabricator.services.mozilla.com/D318383",
      "description": "While requesting to commit composition at a focus change, another focus\nmove may occur. Then, `OnChangeFocusInternal()` should keep handling the\nold focus move anymore.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D318383",
      "email": "masayuki@d-toybox.com",
      "hash": "9a16d1eeb096da1cf452c02d678667e1ec43e35d",
      "subject": "Bug 2061556 - part 2: Make `IMEStateManager::OnChangeFocusInternal()` do nothing if requesting commit composition causes another focus change r=m_kato"
    },
    "D318384": {
      "author": "Masayuki Nakano",
      "avatar": "https://www.gravatar.com/avatar/900caab146bc7a489b3854cf10acf93f?d=identicon\u0026s=64",
      "cl": "D318384",
      "clUrl": "https://phabricator.services.mozilla.com/D318384",
      "description": "A call of `IMEStateManager::OnChangeFocus` may cause committing\nactive composition. Therefore, composition events, `beforeinput` and\n`input` events will be fired and another focus move may occur.\nThen, the nested focus handling should've set all things before\n`IMEStateManager::OnChangeFocus` returns. So, `nsFocusManager` should\nhave nothing to do anymore.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D318384",
      "email": "masayuki@d-toybox.com",
      "hash": "baf83444b45e6bc47e03a5b4871095a20b080692",
      "subject": "Bug 2061556 - part 3: Make `nsFocusManager` stop handling a focus move if calling `IMEStateManager::OnChangeFocus` causes another focus move r=ltenenbaum"
    },
    "D318453": {
      "author": "Sylvestre Ledru",
      "avatar": "https://www.gravatar.com/avatar/fb0fd07485efdfc05e02987075fdbab0?d=identicon\u0026s=64",
      "cl": "D318453",
      "clUrl": "https://phabricator.services.mozilla.com/D318453",
      "description": "mobile/android/docs/geckoview/contributor/contributing-to-firefox.md was\ntitled \"Firefox Contributor Guide\" and contained nothing specific to\nGeckoView. It re-explained finding a bug, commit access levels,\nclang-format, pushing to try, creating a Phabricator account, submitting\nwith moz-phab and updating a patch, all of which docs/contributing covers.\n\nParts of the copy had gone stale and actively misled readers:\n\n- it told contributors to run \"pip install MozPhab\", while the tree\n  documents \"./mach install-moz-phab\"\n- it described commit access in terms of \"any mercurial or SVN\n  repository\" and \"Fennec\", and its level 1/2/3 descriptions disagreed\n  with contributing/levelling-up.md\n\nRemove the page and point its three referrers at docs/contributing\ninstead. Add a redirect so the published URL keeps working.\n\nThe three Phabricator registration screenshots it carried are removed\ntoo, as nothing else referenced them. The page also had two\n\"\u003cScreenshot Needed\u003e\" placeholders that were never filled in.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D318453",
      "email": "sylvestre@debian.org",
      "hash": "750ccd686e5c2c2c3f248ac199845a199b1310fb",
      "subject": "Bug 2063238 - doc: drop the GeckoView copy of the Firefox contributor guide r=nalexander,geckoview-reviewers DONTBUILD"
    },
    "D318554": {
      "author": "fmasalha",
      "avatar": "https://www.gravatar.com/avatar/02500fde5854e7c728e2c05a7f23750f?d=identicon\u0026s=64",
      "cl": "D318554",
      "clUrl": "https://phabricator.services.mozilla.com/D318554",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D318554",
      "email": "fmasalha@mozilla.com",
      "hash": "ee9da15812375d0f24ac5e4f12ce6b7e32880957",
      "subject": "Bug 2020488 - Removed viewAppeared action and settingsLoaded in favour of initialState seeding r=android-reviewers,matt-tighe"
    },
    "D318561": {
      "author": "Olivia Hall",
      "avatar": "https://www.gravatar.com/avatar/9bb5ba1328acae6f1d36d1c8564bc4bf?d=identicon\u0026s=64",
      "cl": "D318561",
      "clUrl": "https://phabricator.services.mozilla.com/D318561",
      "description": "Patch:\n* Adds basic structure for future work for working on PDF toolbars\n  * Initialized from browser fragment\n  * Binding checks for if `isPdf` page and enbled\n  * Integration prepares the layout and controls building the `PdfTools` UI\n* Adds phone FAB and toolbar\n* Adds tablet toolbar\n\nFigma: https://www.figma.com/design/ppIRLQw1AAIeyaG7lwnn4R/PDF.js--Android-UI--Copy-?node-id=4001-32758\u0026m=dev\n\nDifferential Revision: https://phabricator.services.mozilla.com/D318561",
      "email": "ohall@mozilla.com",
      "hash": "f52c88955cdac936b9c39a451260a1e040a40bd4",
      "subject": "Bug 2062612 - [UI] Wireframe for new Android PDF viewer tools r=android-reviewers,android-l10n-reviewers,parker,pollymce"
    },
    "D318587": {
      "author": "Steve Fink",
      "avatar": "https://www.gravatar.com/avatar/31f940cb8df709df2597484cda2b7f34?d=identicon\u0026s=64",
      "cl": "D318587",
      "clUrl": "https://phabricator.services.mozilla.com/D318587",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D318587",
      "email": "sfink@mozilla.com",
      "hash": "31a2c2388e82a73686888090f659a83019a9ad85",
      "subject": "Bug 2061316 - Handle zero-length allocation chunk test, r=jonco"
    },
    "D318591": {
      "author": "Chun-Min Chang",
      "avatar": "https://www.gravatar.com/avatar/8092c68fbfa26b5e17e2265e612bd1c3?d=identicon\u0026s=64",
      "cl": "D318591",
      "clUrl": "https://phabricator.services.mozilla.com/D318591",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D318591",
      "email": "chun.m.chang@gmail.com",
      "hash": "d65b60c4a9f9231885f95bfa9b7fb140750d6674",
      "subject": "Bug 2044846 - Add per-test Chrome arguments to Raptor. r=perftest-reviewers,sparky"
    },
    "D318602": {
      "author": "Nina Pypchenko",
      "avatar": "https://www.gravatar.com/avatar/d4af23165fd08129f80a4a6aef515048?d=identicon\u0026s=64",
      "cl": "D318602",
      "clUrl": "https://phabricator.services.mozilla.com/D318602",
      "description": "Replace the static \"Stocks\" title with a dropdown so people can switch the\nwidget between two lists:\n\n- Markets (default): the set of stocks shown today.\n- Watchlist: the user's own picks. It stays empty for now, until a later bug\n  lets people add tickers to it.\n\nThe dropdown shows the current list's name and marks the selected list with a\ncheckmark. Screen readers still announce the widget as \"Stocks\".\n\nDifferential Revision: https://phabricator.services.mozilla.com/D318602",
      "email": "npypchenko@mozilla.com",
      "hash": "0d154b68efff255e55aa8a47932d8b0619ac6a78",
      "subject": "Bug 2062482 - Add a Markets/Watchlist list dropdown to the Stocks widget r=fluent-reviewers,bolsson,reemhamz"
    },
    "D318603": {
      "author": "Nina Pypchenko",
      "avatar": "https://www.gravatar.com/avatar/d4af23165fd08129f80a4a6aef515048?d=identicon\u0026s=64",
      "cl": "D318603",
      "clUrl": "https://phabricator.services.mozilla.com/D318603",
      "description": "Add the Fluent strings for the Stocks widget's watchlist add and remove controls:\nthe add and remove button labels, an \"in your watchlist\" indicator for stocks that\nare already saved, and screen-reader confirmations for adding and removing. Add\nstrings for ticker search.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D318603",
      "email": "npypchenko@mozilla.com",
      "hash": "1646c314824cc7aaf95a76dd1bf6a16d5dfe7ad0",
      "subject": "Bug 2062845 - Add Stocks strings for watchlist and ticker search r=fluent-reviewers,bolsson,reemhamz"
    },
    "D318604": {
      "author": "Nina Pypchenko",
      "avatar": "https://www.gravatar.com/avatar/d4af23165fd08129f80a4a6aef515048?d=identicon\u0026s=64",
      "cl": "D318604",
      "clUrl": "https://phabricator.services.mozilla.com/D318604",
      "description": "At the Large size, the Stocks widget now lets people build a Watchlist. Adding a\nticker from the Markets list saves it and briefly shows a confirmation checkmark;\nthe Watchlist tab then lists the saved tickers, each with its own remove control.\nWhen the user already has a watchlist, the widget opens on that tab. Every add and\nremove is announced to screen readers and recorded in telemetry, and the list is\nstored in a new comma-separated pref.\n\nThis also removes a pre-existing duplicate widgets.stocks.size pref entry.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D318604",
      "email": "npypchenko@mozilla.com",
      "hash": "16a6da2e9deb06dc2ed66750a778cec4403af797",
      "subject": "Bug 2062483 - Add watchlist add/remove to the Stocks widget r=reemhamz"
    },
    "D318605": {
      "author": "Nina Pypchenko",
      "avatar": "https://www.gravatar.com/avatar/d4af23165fd08129f80a4a6aef515048?d=identicon\u0026s=64",
      "cl": "D318605",
      "clUrl": "https://phabricator.services.mozilla.com/D318605",
      "description": "Adds a small size that shows a single ticker: the first saved watchlist\nsymbol, or the first ticker from the default feed when the watchlist is\nempty. The tile shows the ticker's indicator, change, and price with the\nsymbol as the heading, and covers the loading and error states.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D318605",
      "email": "npypchenko@mozilla.com",
      "hash": "ed2314f3debec685f10fef9bde6b448389a34bf2",
      "subject": "Bug 2062920 - Add a small size to the Stocks widget r=reemhamz"
    },
    "D318606": {
      "author": "Nina Pypchenko",
      "avatar": "https://www.gravatar.com/avatar/d4af23165fd08129f80a4a6aef515048?d=identicon\u0026s=64",
      "cl": "D318606",
      "clUrl": "https://phabricator.services.mozilla.com/D318606",
      "description": "The Stocks feed only fetched the default ETF set, so a watchlist symbol\noutside that set was written to the pref but never rendered. The feed now\nlooks up individual saved symbols and keeps them as a separate watchlist\ndataset, fetched on init, when widgets.stocks.watchlist changes, and when the\ncached data goes stale. The widget merges that dataset with the default\nsnapshot so saved symbols render and persist. Prerequisite for ticker search.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D318606",
      "email": "npypchenko@mozilla.com",
      "hash": "41c6817cbcba93b332aef75a64ac431286680705",
      "subject": "Bug 2063144 - Stocks Widget: update feed to fetch data for individual stock tickers r=reemhamz"
    },
    "D318607": {
      "author": "Nina Pypchenko",
      "avatar": "https://www.gravatar.com/avatar/d4af23165fd08129f80a4a6aef515048?d=identicon\u0026s=64",
      "cl": "D318607",
      "clUrl": "https://phabricator.services.mozilla.com/D318607",
      "description": "Add the feed and state plumbing for Stocks ticker search. StocksFeed gains a\nsearch path that looks up a query through Merino on a per-search client and\nreturns the matching tickers to only the tab that asked, with per-tab,\ncontent-only Redux state that tracks the active request. No user-facing UI in\nthis patch.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D318607",
      "email": "npypchenko@mozilla.com",
      "hash": "2c425a325cfb5096bda5d4da37d6bfd22d2dbd0a",
      "subject": "Bug 2063183 - Part 1: Stocks Widget ticker search feed and state r=reemhamz"
    },
    "D318608": {
      "author": "Nina Pypchenko",
      "avatar": "https://www.gravatar.com/avatar/d4af23165fd08129f80a4a6aef515048?d=identicon\u0026s=64",
      "cl": "D318608",
      "clUrl": "https://phabricator.services.mozilla.com/D318608",
      "description": "Add the search panel and wire it into the Stocks widget: search for a\nticker, see the results, and add one to the watchlist. Also cap the\nwatchlist at 10 and make it scroll.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D318608",
      "email": "npypchenko@mozilla.com",
      "hash": "be5817f698542416ece08d480ec4f635d7c1d8ea",
      "subject": "Bug 2063183 - Part 2: Stocks Widget ticker search UI r=reemhamz"
    },
    "D318609": {
      "author": "Nina Pypchenko",
      "avatar": "https://www.gravatar.com/avatar/d4af23165fd08129f80a4a6aef515048?d=identicon\u0026s=64",
      "cl": "D318609",
      "clUrl": "https://phabricator.services.mozilla.com/D318609",
      "description": "Add the dropdown to the Medium widget, matching Large: it shows when the\nwatchlist is non-empty and defaults to Watchlist, so the selected list\npersists across sizes. The Medium Watchlist shows the first four saved\ntickers in a view-only grid.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D318609",
      "email": "npypchenko@mozilla.com",
      "hash": "12759fe5a289ae960ac873b4131a3542f3de8177",
      "subject": "Bug 2063289 - Stocks Widget: add Watchlist tab to the Medium size r=reemhamz"
    },
    "D318655": {
      "author": "Hiroyuki Ikezoe",
      "avatar": "https://www.gravatar.com/avatar/9ec516861853d265a973cd0ef66735cf?d=identicon\u0026s=64",
      "cl": "D318655",
      "clUrl": "https://phabricator.services.mozilla.com/D318655",
      "description": "Sites use `selector(::-webkit-scrollbar)` as a check for the whole family of\nWebKit scrollbar pseudo-elements, and guard their non-WebKit styles behind the\nnegation of it. We only implement `::-webkit-scrollbar` itself, so a site that\ntakes the WebKit branch on our answer ends up with styles we only partly apply,\nwhich is worse than the non-WebKit branch it would otherwise have taken.\n\nSo report it as unsupported while parsing a @supports condition, like the\n`-webkit-*` pseudo-elements we don't recognize at all. The answer no longer\ndepends on the enabled-domains allowlist, so the allowlist reftests now probe\nthe pseudo-element through the scrollbar it hides rather than through @supports.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D318655",
      "email": "hikezoe.birchill@mozilla.com",
      "hash": "1d3daf987cd8d0137e63eaad6019db2219f03e85",
      "subject": "Bug 2062782 - Report ::-webkit-scrollbar as unsupported in @supports conditions. r#firefox-style-system-reviewers r=firefox-style-system-reviewers,layout-reviewers,emilio"
    },
    "D318746": {
      "author": "nico.burns",
      "avatar": "https://www.gravatar.com/avatar/3c685de098530e0cdb6934228603651b?d=identicon\u0026s=64",
      "cl": "D318746",
      "clUrl": "https://phabricator.services.mozilla.com/D318746",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D318746",
      "email": "nico@nicoburns.com",
      "hash": "ff5db46b553f8407c7475449bb221770ebcb8dcf",
      "subject": "Bug 2063602: Implement `flex-wrap: balance` and `flex-line-count` parsing (Servo-only) (r=firefox-style-system-reviewers,emilio,layout-reviewers,dshin)"
    },
    "D318748": {
      "author": "Dão Gottwald",
      "avatar": "https://www.gravatar.com/avatar/45dfe136efbb8e5f89eb0b21775ab195?d=identicon\u0026s=64",
      "cl": "D318748",
      "clUrl": "https://phabricator.services.mozilla.com/D318748",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D318748",
      "email": "dao@mozilla.com",
      "hash": "e00a96bdf858dcb6fc29e585ef2f4f7fa72be048",
      "subject": "Bug 2062209 - Scope the Urlbar actor to about:newtab and about:home. r=mconley,mbeier"
    },
    "D318749": {
      "author": "Dão Gottwald",
      "avatar": "https://www.gravatar.com/avatar/45dfe136efbb8e5f89eb0b21775ab195?d=identicon\u0026s=64",
      "cl": "D318749",
      "clUrl": "https://phabricator.services.mozilla.com/D318749",
      "description": "The element mounts on about:newtab and runs a query, but its results don't render there yet and it carries no styling, so with the gate on New Tab gets a search box that can't finish a search. That is what the gate defaulting off buys.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D318749",
      "email": "dao@mozilla.com",
      "hash": "82def3f8a6f009cf831b79cf38bf7d7f0a0b506d",
      "subject": "Bug 2062209 - Register \u003cmoz-urlbar\u003e as New Tab's search component behind a feature gate. r=mconley,urlbar-reviewers,search-reviewers,daleharvey"
    },
    "D318787": {
      "author": "Tymur Boiko",
      "avatar": "https://www.gravatar.com/avatar/e5455cbc9ccf5951783c79fc29beda3c?d=identicon\u0026s=64",
      "cl": "D318787",
      "clUrl": "https://phabricator.services.mozilla.com/D318787",
      "description": "Some Vulkan ICDs in RDD may pull CUDA, which calls setsockopt. That syscall was unlisted.\nContent already allows these.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D318787",
      "email": "tboiko@nvidia.com",
      "hash": "5ec295466d2b561c2ae22d6e3539110365438413",
      "subject": "Bug 2063678 - Allow setsockopt/getsockopt in the RDD sandbox for Vulkan. r=jld,sandbox-reviewers"
    },
    "D318823": {
      "author": "Chris Vander Linden",
      "avatar": "https://www.gravatar.com/avatar/1496df11b12dfdf9f8e2e0a61b996ba3?d=identicon\u0026s=64",
      "cl": "D318823",
      "clUrl": "https://phabricator.services.mozilla.com/D318823",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D318823",
      "email": "cvanderl@uiowa.edu",
      "hash": "e157fac4e6ed132ebf4360b867533d25475eb2eb",
      "subject": "Bug 2063466 - Fix FileSearchBar nav button hover styling. r=devtools-reviewers,nchevobbe"
    },
    "D318837": {
      "author": "Markus Stange",
      "avatar": "https://www.gravatar.com/avatar/711e7c6f7c2c62a7bc2eb760585c3daa?d=identicon\u0026s=64",
      "cl": "D318837",
      "clUrl": "https://phabricator.services.mozilla.com/D318837",
      "description": "Our previous Windows ETW JIT instrumentation was appending \" (file:line:col)\"\nto the MethodLoad name leaving the SourceID, Line and Column fields at zero.\n\nTo allow samply to emit cleaner profiles, where the function location is stored\nin the usual place and not in the name, let's emit those things separately.\n\nWe emit the JScript SourceLoad event once per ScriptSource, fill in the\nMethodLoad SourceID/Line/Column fields, and drop the location from the\nname. This matches what V8 does in src/diagnostics/etw-jit-win.cc.\n\nUnlike V8, we still keep the JIT tier in the name.\n\nOn non-Windows, jitdump still wants the source location in the name (for now),\nso that behavior is retained.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D318837",
      "email": "mstange.moz@gmail.com",
      "hash": "f9a2ea97417076370b62a6aacfd324626cbc038c",
      "subject": "Bug 2063683 - Emit ETW SourceLoad events and report the JIT function's source location separately from its name. r=profiler-reviewers,canova"
    },
    "D318838": {
      "author": "Andrew McCreight",
      "avatar": "https://www.gravatar.com/avatar/0a70c84cd33dba0151fe15f2f8773137?d=identicon\u0026s=64",
      "cl": "D318838",
      "clUrl": "https://phabricator.services.mozilla.com/D318838",
      "description": "The new method is more threadsafe, but it will acquire a lock. Hopefully none of\nthis is super hot code.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D318838",
      "email": "continuation@gmail.com",
      "hash": "87135e278c890bfb2e3e0e66135990528206fa8e",
      "subject": "Bug 2063717, part 1 - Replace uses of services::GetIOService(), ::GetChromeRegistry() and ::GetPermissionManager(). r=xpcom-reviewers,media-playback-reviewers,emilio,padenot"
    },
    "D318839": {
      "author": "Andrew McCreight",
      "avatar": "https://www.gravatar.com/avatar/0a70c84cd33dba0151fe15f2f8773137?d=identicon\u0026s=64",
      "cl": "D318839",
      "clUrl": "https://phabricator.services.mozilla.com/D318839",
      "description": "As with the prior patch, the new function is more threadsafe, but it needs to\nacquire a lock. Hopefully none of this is too performance sensitive.\n\nThis one is a bit funkier because one gtest does a reset thing, so we need to make the\ncomponent overridable.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D318839",
      "email": "continuation@gmail.com",
      "hash": "874a3483e3574848f6aacfce6bcdfcd8a9d2083e",
      "subject": "Bug 2063717, part 2 - Replace uses of services::GetAsyncShutdownService(). r=xpcom-reviewers,webrtc-reviewers,places-reviewers,media-playback-reviewers,emilio,padenot,pehrsons,Standard8"
    },
    "D318840": {
      "author": "Andrew McCreight",
      "avatar": "https://www.gravatar.com/avatar/0a70c84cd33dba0151fe15f2f8773137?d=identicon\u0026s=64",
      "cl": "D318840",
      "clUrl": "https://phabricator.services.mozilla.com/D318840",
      "description": "The prior patches got rid of the most of the components. Also, get\nrid of a bunch of headers that aren't needed. Many of them were already\nunnecessary.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D318840",
      "email": "continuation@gmail.com",
      "hash": "06da403d0ebff088383242efecaaa8fba316a4de",
      "subject": "Bug 2063717, part 3 - Remove unused things from Services.py. r=xpcom-reviewers,emilio"
    },
    "D318841": {
      "author": "Andrew McCreight",
      "avatar": "https://www.gravatar.com/avatar/0a70c84cd33dba0151fe15f2f8773137?d=identicon\u0026s=64",
      "cl": "D318841",
      "clUrl": "https://phabricator.services.mozilla.com/D318841",
      "description": "To better show how I have changed them, this version of Services.h and\nServices.cpp is exactly as it was generated after the prior patch, except that\nI have added the MPL and run the formatter on both files. Cleanups will happen\nin the next patch.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D318841",
      "email": "continuation@gmail.com",
      "hash": "bcc738d3ae90d390cd8f2ae8ba6b15d5f2047bec",
      "subject": "Bug 2063717, part 4 - Hard code the services file. r=xpcom-reviewers,emilio"
    },
    "D318842": {
      "author": "Andrew McCreight",
      "avatar": "https://www.gravatar.com/avatar/0a70c84cd33dba0151fe15f2f8773137?d=identicon\u0026s=64",
      "cl": "D318842",
      "clUrl": "https://phabricator.services.mozilla.com/D318842",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D318842",
      "email": "continuation@gmail.com",
      "hash": "4ff6f4a4070fcf715c2d041eda3dd486929fe7d2",
      "subject": "Bug 2063717, part 5 - A few minor cleanups to the generated Services files. r=xpcom-reviewers,emilio"
    },
    "D318865": {
      "author": "Bas Schouten",
      "avatar": "https://www.gravatar.com/avatar/4e1eac71203d85974b94be13ce5ba794?d=identicon\u0026s=64",
      "cl": "D318865",
      "clUrl": "https://phabricator.services.mozilla.com/D318865",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D318865",
      "email": "bschouten@mozilla.com",
      "hash": "b777c7aaae9f6da83e8d0e77bdee0697f0a05180",
      "subject": "Bug 2063750: Add a signal to the pageload domain event whether a client is active. r=acreskey"
    },
    "D318869": {
      "author": "Updatebot",
      "avatar": "https://www.gravatar.com/avatar/cd270ac15e761e2d4c08e9c9b7cfecca?d=identicon\u0026s=64",
      "cl": "D318869",
      "clUrl": "https://phabricator.services.mozilla.com/D318869",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D318869",
      "email": "updatebot@mozilla.com",
      "hash": "e3fda14b67331c8ad6ae0fb6854f6b3f11c61465",
      "subject": "Bug 2063763 - Update opus to 03647f524a40b05a1898522e92033810b58103c7 r=kinetik"
    },
    "D318906": {
      "author": "Erich Gubler",
      "avatar": "https://www.gravatar.com/avatar/4bbd2ecd016e674470b4de5f1620c88f?d=identicon\u0026s=64",
      "cl": "D318906",
      "clUrl": "https://phabricator.services.mozilla.com/D318906",
      "description": "Some new tests, and some new `PASS`es for Windows in texture tests, yay!\n\nDifferential Revision: https://phabricator.services.mozilla.com/D318906",
      "email": "erichdongubler@gmail.com",
      "hash": "9965ea3fd96678b77d41ac87ed9db8ef1f348930",
      "subject": "Bug 2062837 - test(webgpu): update CTS to 535149e23e538e4f8fe3d6266e32c68b7017ccc0 r=webgpu-reviewers,teoxoy"
    },
    "D318989": {
      "author": "Andrea Marchesini",
      "avatar": "https://www.gravatar.com/avatar/dfb8d0427dd67216b2664131a5c31421?d=identicon\u0026s=64",
      "cl": "D318989",
      "clUrl": "https://phabricator.services.mozilla.com/D318989",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D318989",
      "email": "amarchesini@mozilla.com",
      "hash": "fb9db6e8877dafbb8fe5cbef5bfa5c814342690c",
      "subject": "Bug 2063946 - More glean events for the Containers UI - part 1 - metrics.yaml r=chutten"
    },
    "D318990": {
      "author": "Andrea Marchesini",
      "avatar": "https://www.gravatar.com/avatar/dfb8d0427dd67216b2664131a5c31421?d=identicon\u0026s=64",
      "cl": "D318990",
      "clUrl": "https://phabricator.services.mozilla.com/D318990",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D318990",
      "email": "amarchesini@mozilla.com",
      "hash": "c56714d45b3c92722a2e3602037cb5bfe4d19329",
      "subject": "Bug 2063946 - More glean events for the Containers UI - part 2 - Settings r=hjones"
    },
    "D318991": {
      "author": "Andrea Marchesini",
      "avatar": "https://www.gravatar.com/avatar/dfb8d0427dd67216b2664131a5c31421?d=identicon\u0026s=64",
      "cl": "D318991",
      "clUrl": "https://phabricator.services.mozilla.com/D318991",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D318991",
      "email": "amarchesini@mozilla.com",
      "hash": "079de8d1ed04824e4bf024b3356512288c7005a8",
      "subject": "Bug 2063946 - More glean events for the Containers UI - part 3 - Browser/base r=mconley"
    },
    "D318992": {
      "author": "Andrea Marchesini",
      "avatar": "https://www.gravatar.com/avatar/dfb8d0427dd67216b2664131a5c31421?d=identicon\u0026s=64",
      "cl": "D318992",
      "clUrl": "https://phabricator.services.mozilla.com/D318992",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D318992",
      "email": "amarchesini@mozilla.com",
      "hash": "90e9f1948de3b00251d1098525c02bea4c09370d",
      "subject": "Bug 2063946 - More glean events for the Containers UI - part 4 - Tabs r=tabbrowser-reviewers,jswinarton"
    },
    "D318994": {
      "author": "Andrea Marchesini",
      "avatar": "https://www.gravatar.com/avatar/dfb8d0427dd67216b2664131a5c31421?d=identicon\u0026s=64",
      "cl": "D318994",
      "clUrl": "https://phabricator.services.mozilla.com/D318994",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D318994",
      "email": "amarchesini@mozilla.com",
      "hash": "05ee1074fca54a5ed69f139c004272bd96777ac7",
      "subject": "Bug 2063946 - More glean events for the Containers UI - part 6 - Bookmarks r=sfoster"
    },
    "D318995": {
      "author": "Andrea Marchesini",
      "avatar": "https://www.gravatar.com/avatar/dfb8d0427dd67216b2664131a5c31421?d=identicon\u0026s=64",
      "cl": "D318995",
      "clUrl": "https://phabricator.services.mozilla.com/D318995",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D318995",
      "email": "amarchesini@mozilla.com",
      "hash": "1d7f03630636f54645794abe52971c47cf56d850",
      "subject": "Bug 2063946 - More glean events for the Containers UI - part 7 - Sync tabs menu r=mconley"
    },
    "D319011": {
      "author": "Reem H",
      "avatar": "https://www.gravatar.com/avatar/6ff5d1766c0abbbc7f56fb248b548de3?d=identicon\u0026s=64",
      "cl": "D319011",
      "clUrl": "https://phabricator.services.mozilla.com/D319011",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D319011",
      "email": "42309026+reemhamz@users.noreply.github.com",
      "hash": "38780cdbd05866583cc6c4c707d8fc6fa3074fd0",
      "subject": "Bug 2063958 - Privacy widget UX fixes. r=nina-py"
    },
    "D319019": {
      "author": "serge-sans-paille",
      "avatar": "https://www.gravatar.com/avatar/9cdfdfc05249440f57269a0d26487253?d=identicon\u0026s=64",
      "cl": "D319019",
      "clUrl": "https://phabricator.services.mozilla.com/D319019",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D319019",
      "email": "sguelton@mozilla.com",
      "hash": "3c1eff617e8b02573ca99fe9532116dd61a3ebdf",
      "subject": "Bug 2063976 - Fix performance-unnecessary-copy-initialization warning in accessible r=emilio"
    },
    "D319020": {
      "author": "serge-sans-paille",
      "avatar": "https://www.gravatar.com/avatar/9cdfdfc05249440f57269a0d26487253?d=identicon\u0026s=64",
      "cl": "D319020",
      "clUrl": "https://phabricator.services.mozilla.com/D319020",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D319020",
      "email": "sguelton@mozilla.com",
      "hash": "5991dee4fbdec1b0eae716f52695d550326cb159",
      "subject": "Bug 2063976 - Fix performance-unnecessary-copy-initialization warning in devtools r=emilio"
    },
    "D319021": {
      "author": "serge-sans-paille",
      "avatar": "https://www.gravatar.com/avatar/9cdfdfc05249440f57269a0d26487253?d=identicon\u0026s=64",
      "cl": "D319021",
      "clUrl": "https://phabricator.services.mozilla.com/D319021",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D319021",
      "email": "sguelton@mozilla.com",
      "hash": "39bdd04cc47c2369f996b5147910afc1825ef7d8",
      "subject": "Bug 2063976 - Fix performance-unnecessary-copy-initialization warning in netwerk r=cookie-reviewers,valentin"
    },
    "D319022": {
      "author": "serge-sans-paille",
      "avatar": "https://www.gravatar.com/avatar/9cdfdfc05249440f57269a0d26487253?d=identicon\u0026s=64",
      "cl": "D319022",
      "clUrl": "https://phabricator.services.mozilla.com/D319022",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D319022",
      "email": "sguelton@mozilla.com",
      "hash": "0ad38897f3580be9e76c2e1f5f5d8398af45027b",
      "subject": "Bug 2063976 - Fix performance-unnecessary-copy-initialization warning in tools r=profiler-reviewers,canova"
    },
    "D319023": {
      "author": "serge-sans-paille",
      "avatar": "https://www.gravatar.com/avatar/9cdfdfc05249440f57269a0d26487253?d=identicon\u0026s=64",
      "cl": "D319023",
      "clUrl": "https://phabricator.services.mozilla.com/D319023",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D319023",
      "email": "sguelton@mozilla.com",
      "hash": "1e2add2941ebb162e76648ee79f45969d0fcb5cb",
      "subject": "Bug 2063976 - Activate performance-unnecessary-copy-initialization static check r=firefox-static-analysis-reviewers,sylvestre"
    },
    "D319038": {
      "author": "Johannes Salas Schmidt",
      "avatar": "https://www.gravatar.com/avatar/6793e1db22abe181664726808800b218?d=identicon\u0026s=64",
      "cl": "D319038",
      "clUrl": "https://phabricator.services.mozilla.com/D319038",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D319038",
      "email": "joschmidt@mozilla.com",
      "hash": "bd5a8eb9c6d6b42744438558ba4a3591084c8959",
      "subject": "Bug 2063993 - Disable Rust logins storage on release r=dimi"
    },
    "D319066": {
      "author": "Emilio Cobos Álvarez",
      "avatar": "https://www.gravatar.com/avatar/1d91d22a4892f16f744b31fd4286144e?d=identicon\u0026s=64",
      "cl": "D319066",
      "clUrl": "https://phabricator.services.mozilla.com/D319066",
      "description": "This prevents images getting distorted aspect ratios, which can cause\nthings like bug 2063386 or bug 2063903.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D319066",
      "email": "emilio@crisal.io",
      "hash": "8b48097b3f889135a619471608fe899550603bc4",
      "subject": "Bug 2063903 - Support fractional SVG viewports. r=firefox-svg-reviewers,longsonr"
    },
    "D319071": {
      "author": "AndiAJ",
      "avatar": "https://www.gravatar.com/avatar/b4ea35e4d5d0c51e2affc0dc2515853c?d=identicon\u0026s=64",
      "cl": "D319071",
      "clUrl": "https://phabricator.services.mozilla.com/D319071",
      "description": "The UI test was sometimes flaky because after tapping “Open in Firefox,” Android takes about a second to switch from the custom-tab screen to the full browser, but the test checked “am I on the browser yet?” only once with no waiting — so if that single glance landed mid-switch, it failed and the test crashed with “no navigation path found.”\n\nI added a route from the custom tab to the browser, which makes the framework re-check for up to 10 seconds instead of glancing once.\n\nThe UI test successfully passed 50x on Firebase ✅\nAll UI tests successfully passed 1x on Firebase ✅\n\nDifferential Revision: https://phabricator.services.mozilla.com/D319071",
      "email": "andiaj@users.noreply.github.com",
      "hash": "0864e483fd55908715b8595a35e6ed82d5dc30ec",
      "subject": "Bug 2064022 - Fix openCustomTabInFirefoxTest efficiency UI test r=jajohnson"
    },
    "D319073": {
      "author": "Valentin Gosu",
      "avatar": "https://www.gravatar.com/avatar/dedff9d4500fcbc5cdd1cd270f044b33?d=identicon\u0026s=64",
      "cl": "D319073",
      "clUrl": "https://phabricator.services.mozilla.com/D319073",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D319073",
      "email": "valentin.gosu@gmail.com",
      "hash": "c02b8e574951e9608e2a7f35808d366e8d771a57",
      "subject": "Bug 2064026 - Check if iterator has reached the end of the string r=necko-reviewers,kershaw"
    },
    "D319091": {
      "author": "Keith Cirkel",
      "avatar": "https://www.gravatar.com/avatar/87a4065b580b6f1e43858ab49d98c109?d=identicon\u0026s=64",
      "cl": "D319091",
      "clUrl": "https://phabricator.services.mozilla.com/D319091",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D319091",
      "email": "keithamus@users.noreply.github.com",
      "hash": "8559849fc3aca36ae0e34a84b73757854e6f7591",
      "subject": "Bug 2064014 - Commit Option value on mouse event for base select r=dom-core-reviewers,jjaschke"
    },
    "D319097": {
      "author": "Valentin Gosu",
      "avatar": "https://www.gravatar.com/avatar/dedff9d4500fcbc5cdd1cd270f044b33?d=identicon\u0026s=64",
      "cl": "D319097",
      "clUrl": "https://phabricator.services.mozilla.com/D319097",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D319097",
      "email": "valentin.gosu@gmail.com",
      "hash": "641d322ce937f42f2f7e48bb01dd207c5322a041",
      "subject": "Bug 2063814 - Handle \\ correctly in SplitMimetype r=necko-reviewers,kershaw"
    },
    "D319117": {
      "author": "AndiAJ",
      "avatar": "https://www.gravatar.com/avatar/b4ea35e4d5d0c51e2affc0dc2515853c?d=identicon\u0026s=64",
      "cl": "D319117",
      "clUrl": "https://phabricator.services.mozilla.com/D319117",
      "description": "The UI test successfully passed 25x on Firebase ✅\nAll UI tests successfully passed 1x on Firebase ✅\n\nDifferential Revision: https://phabricator.services.mozilla.com/D319117",
      "email": "andiaj@users.noreply.github.com",
      "hash": "fb5508f8e3987029c9b5f81e9e3965b3780db899",
      "subject": "Bug 2064061 - Create new empty bookmarks view import bookmarks button smoke test r=aaronmt,jajohnson"
    },
    "D319135": {
      "author": "Nazım Can Altınova",
      "avatar": "https://www.gravatar.com/avatar/6ec3894dd8f6c79bebd9110120332aa9?d=identicon\u0026s=64",
      "cl": "D319135",
      "clUrl": "https://phabricator.services.mozilla.com/D319135",
      "description": "profiler_register_page() allocated a PageInformation before checking\nwhether that inner window ID was already registered, then dropped it\nagain. Every history.replaceState() hit that path. Pass the fields down\ninstead and only allocate on insert.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D319135",
      "email": "canaltinova@gmail.com",
      "hash": "e0f9303e26f0ca29266ce53de49f00647129dbc1",
      "subject": "Bug 2064053 - Don't allocate a PageInformation when re-registering a known page r=profiler-reviewers,mstange"
    },
    "D319139": {
      "author": "Nazım Can Altınova",
      "avatar": "https://www.gravatar.com/avatar/6ec3894dd8f6c79bebd9110120332aa9?d=identicon\u0026s=64",
      "cl": "D319139",
      "clUrl": "https://phabricator.services.mozilla.com/D319139",
      "description": "Newer Speedometer revisions use hasFinished() instead of _isRunning to\nreport completion. Support both APIs so both old and new versions can be\nrun. This is required by the next patch, which adds\nspeedometer-experimental from a newer revision.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D319139",
      "email": "canaltinova@gmail.com",
      "hash": "cbca34677129d726640f2a6f58482154d5cd5a56",
      "subject": "Bug 2060642 - Support newer Speedometer completion state API r=mstange,perftest-reviewers,kshampur"
    },
    "D319140": {
      "author": "Nazım Can Altınova",
      "avatar": "https://www.gravatar.com/avatar/6ec3894dd8f6c79bebd9110120332aa9?d=identicon\u0026s=64",
      "cl": "D319140",
      "clUrl": "https://phabricator.services.mozilla.com/D319140",
      "description": "Speedometer 4 development has started adding new workloads to\nWebKit/Speedometer, some marked experimental on the main branch and some\nstill behind WIP pull requests, and we would like to track Firefox\nperformance on them. No single upstream revision contains all of them,\nso the new speedometer-experimental test clones Speedometer from a\nbranch of a fork at runtime rather than using the in-tree vendored copy.\n\nIt loads the benchmark with tags=experimental so it only measures the\nexperimental workloads; the default ones are already covered by\nspeedometer3. The jobs run on the same branches and platforms as\nspeedometer3, at tier 3.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D319140",
      "email": "canaltinova@gmail.com",
      "hash": "12bacfaecf705f42de2dc25abcf78bf6d24ccaeb",
      "subject": "Bug 2060642 - Add sp-exp jobs for experimental Speedometer workloads r=mstange,perftest-reviewers,kshampur"
    },
    "D319143": {
      "author": "Ayoub hedri",
      "avatar": "https://www.gravatar.com/avatar/fdbcd28dcb0e692d9c62e90ea453beb0?d=identicon\u0026s=64",
      "cl": "D319143",
      "clUrl": "https://phabricator.services.mozilla.com/D319143",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D319143",
      "email": "ahedri@mozilla.com",
      "hash": "dde9a2caae5443ffefede0b9cd34369647693c10",
      "subject": "Bug 2064067  - Removed all references and usage of REFERRER_POLICY_COUNT r=necko-reviewers,freddyb,valentin,janerik"
    },
    "D319166": {
      "author": "serge-sans-paille",
      "avatar": "https://www.gravatar.com/avatar/9cdfdfc05249440f57269a0d26487253?d=identicon\u0026s=64",
      "cl": "D319166",
      "clUrl": "https://phabricator.services.mozilla.com/D319166",
      "description": "No code generation impact expected, just easier maintenance.\n\nIn a few case, the spaceship operator could be used, but that's out of\nscope for this patch.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D319166",
      "email": "sguelton@mozilla.com",
      "hash": "ec70b754d810cb502c72f8e491c4455bfdb12fcc",
      "subject": "Bug 2064120 - Use default operator equal implementation for mfbt/ r=nika"
    },
    "D319175": {
      "author": "Leo Tenenbaum",
      "avatar": "https://www.gravatar.com/avatar/191826fbebe3973ebd6d6eb595ddb5c2?d=identicon\u0026s=64",
      "cl": "D319175",
      "clUrl": "https://phabricator.services.mozilla.com/D319175",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D319175",
      "email": "ltenenbaum@mozilla.com",
      "hash": "ef96cc9277a91a2d818b14964a669410bbe0b3bd",
      "subject": "Bug 2061430 - Fall back to non-localized if localized datetime error message formatting fails. r=dom-core-reviewers,platform-i18n-reviewers,smaug"
    },
    "D319181": {
      "author": "mimi",
      "avatar": "https://www.gravatar.com/avatar/dd65e4af4102c8c53e42ed83c2843ba7?d=identicon\u0026s=64",
      "cl": "D319181",
      "clUrl": "https://phabricator.services.mozilla.com/D319181",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D319181",
      "email": "mjung@mozilla.com",
      "hash": "4094cdf25b2e4245b4f42361c2566d2fae0a1978",
      "subject": "Bug 2059393 - Revert using uncached defaultBrowserCheck for set to default app menu messages r=omc-reviewers,sachung"
    },
    "D319190": {
      "author": "Dão Gottwald",
      "avatar": "https://www.gravatar.com/avatar/45dfe136efbb8e5f89eb0b21775ab195?d=identicon\u0026s=64",
      "cl": "D319190",
      "clUrl": "https://phabricator.services.mozilla.com/D319190",
      "description": "The page told the `\u003cxul:tabbrowser\u003e` story four times over; it now says once that the name survives in older code, and describes what `gBrowser` is today. The `gBrowser` prose moves to a page of its own, so it sits in the menu beside the other pages rather than only under the index.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D319190",
      "email": "dao@mozilla.com",
      "hash": "dbdf04183a63bcf4c29637465c4505ef84849290",
      "subject": "Bug 2063545 - Tidy the tabbrowser docs. r=sthompson,tabbrowser-reviewers"
    },
    "D319191": {
      "author": "Dão Gottwald",
      "avatar": "https://www.gravatar.com/avatar/45dfe136efbb8e5f89eb0b21775ab195?d=identicon\u0026s=64",
      "cl": "D319191",
      "clUrl": "https://phabricator.services.mozilla.com/D319191",
      "description": "The replay on a tab switch reaches global listeners only, and a listener that implements `onRefreshAttempted` without returning true cancels the refresh -- neither is guessable, and both are in the page.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D319191",
      "email": "dao@mozilla.com",
      "hash": "d156ac96af44b95513e932100da782133289b63e",
      "subject": "Bug 2063545 - Document gBrowser's progress listener infrastructure. r=sthompson,tabbrowser-reviewers"
    },
    "D319209": {
      "author": "Dão Gottwald",
      "avatar": "https://www.gravatar.com/avatar/45dfe136efbb8e5f89eb0b21775ab195?d=identicon\u0026s=64",
      "cl": "D319209",
      "clUrl": "https://phabricator.services.mozilla.com/D319209",
      "description": "Not whitespace-only: two fewer columns let prettier re-join lines that now fit in 80 columns. `git diff -w` isolates those as 49 hunks collapsing 180 lines into 62; the rest is re-indentation that `git blame -w` follows.\n\nThe SHA goes into .git-blame-ignore-revs and .hg-annotate-ignore-revs in a follow-up, since a commit can't carry its own SHA.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D319209",
      "email": "dao@mozilla.com",
      "hash": "560af3c0b95a11167742f616efb7e12c8850f08a",
      "subject": "Bug 2064159 - Drop the indentation-preserving block from Tabbrowser.sys.mjs. r=tabbrowser-reviewers,jsudiaman"
    },
    "D319233": {
      "author": "Olivia Hall",
      "avatar": "https://www.gravatar.com/avatar/9bb5ba1328acae6f1d36d1c8564bc4bf?d=identicon\u0026s=64",
      "cl": "D319233",
      "clUrl": "https://phabricator.services.mozilla.com/D319233",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D319233",
      "email": "ohall@mozilla.com",
      "hash": "365e156097abf4f249d998677828bd7c1947d1a8",
      "subject": "Bug 2054916 - Connect download button to bottom right of the PDF viewer. r=android-reviewers,pollymce"
    },
    "D319235": {
      "author": "Andreas Pehrson",
      "avatar": "https://www.gravatar.com/avatar/906f005aaa08b2d109a3fa9e1b83000d?d=identicon\u0026s=64",
      "cl": "D319235",
      "clUrl": "https://phabricator.services.mozilla.com/D319235",
      "description": "test_artifact_patterns was a set, but its consumers iterate it and break on the\nfirst matching pattern, and two of its entries overlap: mozpath.match() treats\nthe trailing * in \"bin/plugins/*\" as matching a whole subtree, so it also\nmatches the gmp plugin paths that \"bin/plugins/gmp-*/*/*\" is meant to claim.\nWhich one won therefore depended on set iteration order, i.e. on PYTHONHASHSEED,\nwhich nothing in the build system pins. Roughly 58% of seeds picked the wrong\none.\n\nWhen that happened, libfake.so and libfakeopenh264.so landed in dist/plugins\ninstead of dist/bin. test_archive.py only packages GMP plugins from dist/bin, so\nthe libraries went missing from the test archive while manifest.json and\nfakeopenh264.info stayed, those being installed from the source tree. Gecko then\ndiscovered the plugin and advertised H264, and the GMP child process crashed with\nMOZ_CRASH(Plugin file does not exist) as soon as anything tried to use it.\n\nKeeping the patterns in source order fixes it, since the specific gmp-* pattern\nis already written above the general one.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D319235",
      "email": "apehrson@mozilla.com",
      "hash": "e1685d244084bee95891c767232ddb392fdae5fa",
      "subject": "Bug 2064182 - Make test_artifact_patterns an ordered sequence. r=firefox-build-system-reviewers,sergesanspaille"
    },
    "D319242": {
      "author": "Dão Gottwald",
      "avatar": "https://www.gravatar.com/avatar/45dfe136efbb8e5f89eb0b21775ab195?d=identicon\u0026s=64",
      "cl": "D319242",
      "clUrl": "https://phabricator.services.mozilla.com/D319242",
      "description": "The tuple in `#tabSelectTimestamps` stays unparseable on purpose: the field is `#`-private, so it never reaches the rendered page, and the type is worth more there than the parse error costs in the build log.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D319242",
      "email": "dao@mozilla.com",
      "hash": "de27885a28ef27a3a21893410de6b35e5a4f83b4",
      "subject": "Bug 2064136 - Fix the JSDoc type expressions jsdoc can't parse. r=sthompson,tabbrowser-reviewers"
    },
    "D319250": {
      "author": "cary",
      "avatar": "https://www.gravatar.com/avatar/3e7e72faa2893c5968b9b065e7de1900?d=identicon\u0026s=64",
      "cl": "D319250",
      "clUrl": "https://phabricator.services.mozilla.com/D319250",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D319250",
      "email": "cmurray@mozilla.com",
      "hash": "07111edaf06c860dc16f27f6148531d7f316fa0b",
      "subject": "Bug 2064196: PUWYLO v0 Fast Follow: Filter out memories with no associated pages r=cdipersio"
    },
    "D319266": {
      "author": "Markus Stange",
      "avatar": "https://www.gravatar.com/avatar/711e7c6f7c2c62a7bc2eb760585c3daa?d=identicon\u0026s=64",
      "cl": "D319266",
      "clUrl": "https://phabricator.services.mozilla.com/D319266",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D319266",
      "email": "mstange.moz@gmail.com",
      "hash": "f75e25f9727765c54afb0148c56a661c1da7de01",
      "subject": "Bug 2064208 - Update samply toolchain revision. r=perftest-reviewers,kshampur"
    },
    "D319283": {
      "author": "Punam Dahiya",
      "avatar": "https://www.gravatar.com/avatar/bb829b468ca71bf535f2e948861dcd7c?d=identicon\u0026s=64",
      "cl": "D319283",
      "clUrl": "https://phabricator.services.mozilla.com/D319283",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D319283",
      "email": "pdahiya@mozilla.com",
      "hash": "da7239e3174edc9aa88b59ecb12a64482028c2fe",
      "subject": "Bug 2047007 - Add Smart Window enabled metrics r=Mardak"
    },
    "D319313": {
      "author": "Jackie Johnson",
      "avatar": "https://www.gravatar.com/avatar/679ab5b029ef3ae60883ec8b488cd982?d=identicon\u0026s=64",
      "cl": "D319313",
      "clUrl": "https://phabricator.services.mozilla.com/D319313",
      "description": "Drives the same path as the legacy test: load a foreign-language page, open the translations options\nsheet, enter Translation settings, open Download languages, download a language.\n\nAdds TRANSLATION_SETTINGS_BUTTON for the options sheet, a pure languageToDownload(language) selector\nfor a row in the list, and ANY_LANGUAGE_DOWNLOADED.\n\nThe final assertion is deliberately stronger than the legacy one rather than a faithful port.\nverifyDownloadedLanguage(\"Bosnian\") re-matched the same content-description substring as the click\ntarget immediately above it, so it held whether or not anything downloaded — the test could not fail\nfor the reason it existed to catch. The port keeps that check and adds one that only holds once a\nmodel is really on disk.\n\nAsserting the downloaded state is less direct than it looks. Each row encodes it in its content\ndescription as \"\u003clanguage\u003e \u003csize\u003e\" plus \"Download\" or \"Delete\", so a content-description substring of\n\"Delete\" matches both the language row and the \"Delete all languages\" bulk row; Compose surfaces that\nambiguity as \"not found\", which reads exactly like a failed download (gotcha A41, and it cost a cycle\nhere). The bulk row's own label instead switches from \"All languages\" to \"Delete all languages\" only\nonce something is downloaded, so its text carries the state unambiguously and without depending on the\nsize, which comes from the models list.\n\nThe assertion is not vacuous: the app is not installed between runs, so each run starts from a fresh\nprofile and that row can only appear because the run itself downloaded a model.\n\nTwo clean runs on device, no retries.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D319313",
      "email": "jajohnson@mozilla.com",
      "hash": "af3efb5634c0dceb717c65fcc32547efbf1f99ea",
      "subject": "Bug 2063223 - [efficiency] Convert TranslationsTest.verifyTheDownloadLanguagesFunctionalityTest to ui/efficiency r=ajoltan"
    },
    "D319314": {
      "author": "Jackie Johnson",
      "avatar": "https://www.gravatar.com/avatar/679ab5b029ef3ae60883ec8b488cd982?d=identicon\u0026s=64",
      "cl": "D319314",
      "clUrl": "https://phabricator.services.mozilla.com/D319314",
      "description": "Sets Never translate for the detected language from the translations options sheet, confirms it is\nreflected under Translation settings \u003e Automatic translation, then confirms a second page in that\nlanguage no longer offers to translate.\n\nBoth legacy checked-state assertions located their toggle purely by POSITION —\nUiSelector().index(4) and index(2) on className android.view.View, with no identity — so a port that\nmatched on the visible label alone would have silently dropped them. They are now anchored to the row.\n\nGetting that right needed two things that are easy to get wrong:\n\n- The state is `semantics { selected = checked; role = Role.Switch }` on the row, and the Switch itself\n  is blanked with clearAndSetSemantics, so no ToggleableState exists anywhere in the tree and\n  assertIsOn can never pass. The assertion is on `selected`, not `checked`.\n- That state lives on the MERGED row node, which absorbs its label. COMPOSE_BY_TEXT forces\n  useUnmergedTree and therefore resolves a stateless descendant, reporting the row as simply \"not\n  checked\" — indistinguishable from a real failure. COMPOSE_BY_TEXT_MERGED is required. The second row\n  is a RadioButtonListItem rather than a switch, and its \"\u003clabel\u003e.radio.button\" testTag survives a\n  clearAndSetSemantics that strips the state, so that tag identifies the icon but cannot be asserted\n  against. No product-code change is needed once the merged tree is used.\n\nTwo further deviations from legacy, both deliberate:\n\n- The Automatic translation list is alphabetical and long, so the row starts below the fold. Legacy\n  scrolled only as a side effect of the retry loop inside its assertion; this scrolls explicitly and\n  keeps the assertion an assertion.\n- The final check used assertIsNotDisplayed with no wait, which Compose also satisfies when the node is\n  merely absent — so it could hold before the prompt had any chance to appear. It now waits out the\n  offer window and requires the sheet to never show.\n\nAlso adds a ScreenDump to mozVerifyElementIsChecked / mozVerifyElementIsNotChecked on failure. Every\nother verb dumps; these did not, so a checked-state failure produced no snapshot at all and could not\ndistinguish \"the toggle is off\" from \"this selector matched a label while the state lives elsewhere\".\nThat dump is what identified the merged-tree cause here, in one run rather than several.\n\nTwo clean runs on device, no retries.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D319314",
      "email": "jajohnson@mozilla.com",
      "hash": "8cdfce27a2e13d3f3c439cb2f732fbf6a511ee41",
      "subject": "Bug 2063228 - [efficiency] Convert TranslationsTest.verifyTheNeverTranslateOptionTest to ui/efficiency r=ajoltan"
    },
    "D319315": {
      "author": "Jackie Johnson",
      "avatar": "https://www.gravatar.com/avatar/679ab5b029ef3ae60883ec8b488cd982?d=identicon\u0026s=64",
      "cl": "D319315",
      "clUrl": "https://phabricator.services.mozilla.com/D319315",
      "description": "Submits a login form inside a custom tab, saves it, re-enters the app through an external link, and\nconfirms the login is listed under Saved passwords.\n\nAdds CustomTabsPage.openUrlFromExternalLink(url), an ACTION_VIEW intent scoped to Firefox. Deliberately\ndistinct from the custom tab's own \"Open in Firefox\" menu item, which hands over the existing tab: a test\nthat means to exercise the external entry point cannot substitute one for the other. Not a\nNavigationRegistry edge, for the same reason launchCustomTab is not — it is an intent, not a click-path.\n\nThe login-form helpers are reused from BrowserPage rather than reimplemented on CustomTabsPage. They act\non device-wide web-id selectors, so they work inside a custom tab — the same reason\nCustomTabsPage.clickWebContent delegates to BrowserPageSelectors — and setLoginFormCredentials carries\nretry logic for a form that can reload and silently drop what was typed.\n\nThe route to Saved passwords is driven click-by-click instead of navigateToPage(). Every registered edge\nto SettingsSavedPasswordsPage ends in ClickIfPresent on the security dialog's Later button, so navigating\nthere would dismiss the dialog before it could be asserted — silently dropping a legacy assertion. This\nis the one place where the convenient path would have cost coverage.\n\nThree legacy assertions could not fail for the reason they were written, and are strengthened:\n\n- The save-prompt check asserted only the prompt container, which the preceding wait had already\n  required, so it was a tautology. The port also asserts the Save button, which the next click depends on.\n- The final check was a device-wide By.text wait rather than an assertion, and the same screen shows the\n  login's origin, so it could hold on the wrong row. The port asserts the saved-login entry scoped to the\n  list.\n- Nothing asserted that the external link reopened the app, so a failure there surfaced later and\n  obscurely. The port requires the login form to render.\n\nKeeps the legacy live external form (mozilla-mobile.github.io/testapp/loginForm), as the converted\nLoginsTest already does. The local password.html asset is not a substitute: it pre-fills a different\nusername and randomises the password, so it cannot cover these credentials.\n\nTwo clean runs on device, no retries.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D319315",
      "email": "jajohnson@mozilla.com",
      "hash": "344b1a00f139d3a1543b9026ed96f6e7e86d44d2",
      "subject": "Bug 2063232 - [efficiency] Convert CustomTabsTest.verifyLoginSaveInCustomTabTest to ui/efficiency r=ajoltan"
    },
    "D319316": {
      "author": "Jackie Johnson",
      "avatar": "https://www.gravatar.com/avatar/679ab5b029ef3ae60883ec8b488cd982?d=identicon\u0026s=64",
      "cl": "D319316",
      "clUrl": "https://phabricator.services.mozilla.com/D319316",
      "description": "Launches a custom tab, opens the custom-tab main menu, taps Share, and verifies the share sheet renders its\nfull layout.\n\nPure assembly, with no new selectors or page-object methods. CustomTabsSelectors.MENU_SHARE and the\nShareOverlaySelectors \"shareTabLayout\" group both already exist, and the group covers all eight things legacy\nverifyShareTabLayout asserted: the share container, the send-to-device, recently-used and all-actions\nsections, their three headers, and the Save as PDF action. This contradicts the batch plan's estimate that the\ntest \"adds system share-sheet handling\" — that capability landed with an earlier conversion, so nothing\nstructural was left to build.\n\nOne deliberate parity note on that group, which predates this patch and is unchanged by it: legacy matched the\nthree section headers by res-id *and* text (accountHeaderText, recent_apps_link_header, apps_link_header),\nwhile the selectors match on text alone. The strings are unique to this sheet, so the assertions hold, but they\nare scoped to the screen rather than to the specific view.\n\nCarries @SmokeTest even though the legacy test is a plain @Test. The case is in the TestRail smoke pool and its\nthree already-converted custom-tab siblings are all annotated, so the missing legacy annotation reads as an\noversight rather than a signal that it should stay out of the smoke job.\n\nAdds a page-content wait that legacy did not have. Legacy opened the menu straight after launching the custom\ntab; the share sheet renders either way, so this is a stabiliser rather than a new assertion, and it keeps the\nsheet's contents derived from the intended page instead of whatever the tab happened to be showing.\n\nTwo clean runs on device, no retries. The second was a whole-class run of CustomTabsTest, so the other eight\nconverted custom-tab tests are confirmed unregressed.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D319316",
      "email": "jajohnson@mozilla.com",
      "hash": "86cbc1c5d81be83275a373148ab8fd1e9ce17b12",
      "subject": "Bug 2063252 - [efficiency] Convert MainMenuTest.verifyTheMainMenuShareButtonFromCustomTabTest to ui/efficiency r=aaronmt"
    },
    "D319317": {
      "author": "Jackie Johnson",
      "avatar": "https://www.gravatar.com/avatar/679ab5b029ef3ae60883ec8b488cd982?d=identicon\u0026s=64",
      "cl": "D319317",
      "clUrl": "https://phabricator.services.mozilla.com/D319317",
      "description": "Loads a page with a file input, taps it, grants the storage permissions, steps through Android's chooser and\nconfirms the document picker opens.\n\nThe legacy test never verified any of that. Its only assertion goes through\nAppAndSystemHelper.assertExternalAppOpens, which catches the AssertionFailedError from intended() and only\nlogs it -- so on any device where the picker is installed, which is every supported image, the assertion\ncannot fail. Because it could not fail, two things it was supposed to catch went unnoticed for as long as it\nhas existed. Both were found on device, by reading the screen dumps the failing port produced:\n\n- grantSystemPermission() dismisses exactly one dialog, and tapping a bare \u003cinput type=\"file\"\u003e raises a chain\n  of them (audio, then music-and-audio). The legacy test ends parked on the second dialog.\n- A bare file input does not open a picker at all. Android shows a chooser first -- Camera, Camcorder,\n  Files -- so the picker package is not foreground until an option is chosen.\n\nSo the legacy test finishes on either a permission dialog or a chooser, and reports success. The port drains\nthe permission chain, asserts the chooser's Files option, clicks it, and only then asserts the picker's window\nis really present via mozVerifyNativeAppOpens, which also force-stops it -- the same cleanup legacy did in its\nfinally block.\n\nAdds SystemSettingsPage.grantAllPendingSystemPermissions() (drains the chain, returns the count),\nSystemSettingsSelectors.PERMISSION_GRANT_DIALOG and FILE_CHOOSER_FILES_OPTION, and\nBrowserPageSelectors.UPLOAD_FILE_WEB_INPUT. Constants gains DOCUMENTS_UI.\n\nThe dialog count is deliberately NOT asserted. Runtime grants are system state that outlives the app profile,\nso the dialogs appear on a fresh device and are absent on every run after; an assertion on them passes once\nand then fails forever. This was caught by the retry of an earlier attempt, not reasoned about. The chooser\nis identified by its Files label rather than by the chooser container's res-id, which is not reliably\npackage-qualifiable and has moved package across releases.\n\nLegacy also branched to \"com.android.documentsui\" below API 29. That branch is not carried: the package does\nnot exist on any image this suite runs on, so it was unreachable rather than coverage.\n\nAlso adds a ScreenDump on failure to mozVerifyNativeAppOpens and mozVerifyFileOpensInExternalApp. Neither\ndumped before, so \"\u003cpkg\u003e not found\" gave no way to tell \"the app did not open\" from \"something else is in\nfront of it\" -- which is the entire difficulty above, and it cost three cycles to see. The dumps' [windows]\nblock names the focused window and settles it in one read.\n\nTwo clean runs on device, no retries. The second was a whole-class run and, because the permissions granted\nby the first run persist, it exercised the zero-dialog path -- so both branches of the grant loop are covered.\n\nWorth flagging separately: three already-converted efficiency tests (DownloadTest.saveAsPdfFunctionalityTest\nand two in MainMenuTest) assert through the same swallowing helper via mozVerifyFileOpensInExternalApp, so\nthey currently carry an assertion that cannot fail. Not changed here; that is its own patch.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D319317",
      "email": "jajohnson@mozilla.com",
      "hash": "9882f3d26d096e2683ca729cc6e1bbcf75bbbec4",
      "subject": "Bug 2063263 - [efficiency] Convert UploadPermissionsTest.fileUploadPermissionTest to ui/efficiency r=ajoltan"
    },
    "D319321": {
      "author": "Jackie Johnson",
      "avatar": "https://www.gravatar.com/avatar/679ab5b029ef3ae60883ec8b488cd982?d=identicon\u0026s=64",
      "cl": "D319321",
      "clUrl": "https://phabricator.services.mozilla.com/D319321",
      "description": "Espresso's closeSoftKeyboard() throws PerformException when the focused view's root is not\nthe one it expects, which happens whenever no editable view has focus - on the homepage, or\nafter a dialog takes focus. Hiding the keyboard is only ever a convenience for the assertion\nthat follows, so failing to do it must not fail the test.\n\nTwo tests fail locally on this today, and pass in CI, so it only bites developers running\nthe suite: SettingsGeneralTest.verifyFontSizingChangeTest via\nBasePage.mozVerifyAnyContainsText, and\nSettingsSearchTest.verifyCustomSearchEngineCanBeAddedFromSearchEngineMenuTest via\nSettingsSearchAddSearchEnginePage.\n\nAdds BasePage.dismissSoftKeyboard(), which wraps the call in runCatching and logs what it\nswallowed, and routes the four call sites in the efficiency framework through it. It is\nprotected rather than private so the two page objects, which extend BasePage, use the same\nhelper instead of repeating the guard.\n\nA further 13 unguarded calls remain in the legacy ui/robots/* and ui/*Test.kt files. Left\nalone here to keep the patch reviewable.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D319321",
      "email": "jajohnson@mozilla.com",
      "hash": "2b6c7f4fe5c0a63da0831dbacff2f3b193b5243f",
      "subject": "Bug 2063602 - [efficiency] Do not fail a test when closeSoftKeyboard() cannot hide the keyboard r=aaronmt"
    },
    "D319331": {
      "author": "Dão Gottwald",
      "avatar": "https://www.gravatar.com/avatar/45dfe136efbb8e5f89eb0b21775ab195?d=identicon\u0026s=64",
      "cl": "D319331",
      "clUrl": "https://phabricator.services.mozilla.com/D319331",
      "description": "`parseXULToFragment` is chrome-only, as a content document can hold no XUL elements at all. So both realms parse with `DOMParser`, the markup naming the XHTML namespace by default and its one XUL element with a `xul:` prefix, which content resolves to XHTML.\n\nDropping the `html:` prefixes breaks whatever matched a qualified name, hence the fixes alongside. The fragment also keeps the markup's whitespace text nodes, which `parseXULToFragment` stripped.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D319331",
      "email": "dao@mozilla.com",
      "hash": "fcee5de428a020254b167e92a84e4e85932ab130",
      "subject": "Bug 2064276 - Parse the input's markup with DOMParser. r=mbeier,urlbar-reviewers"
    },
    "D319332": {
      "author": "Dão Gottwald",
      "avatar": "https://www.gravatar.com/avatar/45dfe136efbb8e5f89eb0b21775ab195?d=identicon\u0026s=64",
      "cl": "D319332",
      "clUrl": "https://phabricator.services.mozilla.com/D319332",
      "description": "The port's returns are already cloned; the parent's dispatches into the child controller weren't, so a content-realm input saw an Xray over an object in this realm and was denied even `Symbol.iterator` -- iterating the engine-store snapshot threw.\n\n`Notify` has the same gap and isn't fixed here: it carries a `UrlbarQueryContext` that `fromWire` builds in this realm, and cloning would flatten it. Content has the class, so deserializing there is likely the answer.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D319332",
      "email": "dao@mozilla.com",
      "hash": "56467e58ed367be5f21b138eb564f3e1804c26d8",
      "subject": "Bug 2064277 - Clone parent-sent payloads into the content realm. r=mbeier"
    },
    "D319333": {
      "author": "Dão Gottwald",
      "avatar": "https://www.gravatar.com/avatar/45dfe136efbb8e5f89eb0b21775ab195?d=identicon\u0026s=64",
      "cl": "D319333",
      "clUrl": "https://phabricator.services.mozilla.com/D319333",
      "description": "`_trimValue` returns early unless the input is the address bar, so on the searchbar the controller only reimplements native copy/cut.\n\nThis is what lets a content-realm input work without a realm branch here: the controller needs `controllers` and `editor` on the input plus the clipboard service, all chrome-only.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D319333",
      "email": "dao@mozilla.com",
      "hash": "aa895826ce3d1c232358408e254d2127727db459",
      "subject": "Bug 2064279 - Gate the copy/cut controller on the address bar. r=mbeier,urlbar-reviewers"
    },
    "D319334": {
      "author": "Dão Gottwald",
      "avatar": "https://www.gravatar.com/avatar/45dfe136efbb8e5f89eb0b21775ab195?d=identicon\u0026s=64",
      "cl": "D319334",
      "clUrl": "https://phabricator.services.mozilla.com/D319334",
      "description": "The update waits for the user to look away, and a tab switch qualifies only for the address bar, which takes its value from the selected tab. Nothing gives the searchbar a value on `TabSelect`, so its listener could only ever fire with the guard already false -- and by then the `input` listener has removed both.\n\nA content-realm input, not being the address bar, is left with the same single cue, which is what this needs to not reach for a tabbrowser it doesn't have.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D319334",
      "email": "dao@mozilla.com",
      "hash": "e0baa9504fa5f28c20496dcf8ac642cd49c5c412",
      "subject": "Bug 2064279 - Defer the placeholder update to a tab switch only in the address bar. r=mbeier,urlbar-reviewers"
    },
    "D319335": {
      "author": "Dão Gottwald",
      "avatar": "https://www.gravatar.com/avatar/45dfe136efbb8e5f89eb0b21775ab195?d=identicon\u0026s=64",
      "cl": "D319335",
      "clUrl": "https://phabricator.services.mozilla.com/D319335",
      "description": "`observe` matches the notification's subject against the input's own window, so a content-realm input could never match it -- and `generateQI` and the observer service are chrome-only, so reaching for them threw before the engine-store observer below could be registered. That one a content realm does need.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D319335",
      "email": "dao@mozilla.com",
      "hash": "d7435c3ede7e687f7fbcba938dbebf97968e78b1",
      "subject": "Bug 2064185 - Observe the AI window's state only from a chrome window. r=mbeier,urlbar-reviewers"
    },
    "D319408": {
      "author": "Dão Gottwald",
      "avatar": "https://www.gravatar.com/avatar/45dfe136efbb8e5f89eb0b21775ab195?d=identicon\u0026s=64",
      "cl": "D319408",
      "clUrl": "https://phabricator.services.mozilla.com/D319408",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D319408",
      "email": "dao@mozilla.com",
      "hash": "e4fbb3f30c8e6cfee292f757516aa247e533b868",
      "subject": "Bug 2062987 - Give the content prefs shim getScotchBonnetPref. r=mbeier,urlbar-reviewers"
    },
    "D319409": {
      "author": "Dão Gottwald",
      "avatar": "https://www.gravatar.com/avatar/45dfe136efbb8e5f89eb0b21775ab195?d=identicon\u0026s=64",
      "cl": "D319409",
      "clUrl": "https://phabricator.services.mozilla.com/D319409",
      "description": "`UrlbarQueryContext`'s constructor normalizes the container id, so this sits on the path of every query -- a content-realm input couldn't run one at all. The value is spelled out beside the private-window sentinel the same file already carries.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D319409",
      "email": "dao@mozilla.com",
      "hash": "f1b48ae625b036bd642a34e44b13b35cbe714340",
      "subject": "Bug 2064185 - Read the default user context id without Ci. r=mbeier,urlbar-reviewers"
    },
    "D319410": {
      "author": "Dão Gottwald",
      "avatar": "https://www.gravatar.com/avatar/45dfe136efbb8e5f89eb0b21775ab195?d=identicon\u0026s=64",
      "cl": "D319410",
      "clUrl": "https://phabricator.services.mozilla.com/D319410",
      "description": "Its state is keyed by the selected tab's browser, which a content-realm input has no way to reach.\n\n`handleEvent` wraps every `_on_*` in a try/catch and reports through `console.error`, so the exception left `_on_input` silently half-done: typing updated the value and started no query, with nothing in the parent-process log.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D319410",
      "email": "dao@mozilla.com",
      "hash": "69cdce10fed3779a93074dcc505acdf5d1114e81",
      "subject": "Bug 2064279 - Gate the search-terms persistence check on the address bar. r=mbeier,urlbar-reviewers"
    },
    "D319411": {
      "author": "Dão Gottwald",
      "avatar": "https://www.gravatar.com/avatar/45dfe136efbb8e5f89eb0b21775ab195?d=identicon\u0026s=64",
      "cl": "D319411",
      "clUrl": "https://phabricator.services.mozilla.com/D319411",
      "description": "Two places enumerate SAPs, and a query needs both: `getResultGroups` throws on a name it doesn't know, so the new SAP shares the searchbar's placeholder config until the searchbar gets its own, and providers are selected per SAP, so a new one starts with none. Suggest results carry a `suggestedIndex`, which the muxer places outside the group tree, so the shared config needs no slot for them.\n\nThe provider set is the one we mean to launch with: a subset of the searchbar's, plus URL navigation, and no history beyond autofill. Recognizing the SAP as a search source for telemetry is the rest of the bug.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D319411",
      "email": "dao@mozilla.com",
      "hash": "a59d6c4e18264bed6e022ece60a654828c60e359",
      "subject": "Bug 2062210 - Wire the newtab_searchbar SAP through result groups and providers. r=urlbar-reviewers,jteow"
    },
    "D319413": {
      "author": "Dão Gottwald",
      "avatar": "https://www.gravatar.com/avatar/45dfe136efbb8e5f89eb0b21775ab195?d=identicon\u0026s=64",
      "cl": "D319413",
      "clUrl": "https://phabricator.services.mozilla.com/D319413",
      "description": "The remaining half of the previous patch, and the one a clone can't fix: the actor deserialized the wire form into a `UrlbarQueryContext` in its own realm, so a content-realm view got an Xray over it. That reads every property as `undefined` rather than throwing, so a query produced no rows and no error.\n\nThe wire form is plain data, so it crosses as one and the child controller builds the context from it, in an entry point of its own so that `notify` takes a real context whichever path delivered it. That has to happen before `notify` inspects `id` to drop the results of a stale query.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D319413",
      "email": "dao@mozilla.com",
      "hash": "e7e50f5e61bad7ee664a371954c9893b7e1d292a",
      "subject": "Bug 2064277 - Build the query context in the realm that reads it. r=mbeier,urlbar-reviewers"
    },
    "D319430": {
      "author": "Nazım Can Altınova",
      "avatar": "https://www.gravatar.com/avatar/6ec3894dd8f6c79bebd9110120332aa9?d=identicon\u0026s=64",
      "cl": "D319430",
      "clUrl": "https://phabricator.services.mozilla.com/D319430",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D319430",
      "email": "canaltinova@gmail.com",
      "hash": "99cbe2a1dbe7e589b07827cc8af20a697bc187c2",
      "subject": "Bug 2064046 - Add more Raptor browser function labels r=mstange,perftest-reviewers,sparky"
    },
    "D319432": {
      "author": "Erich Gubler",
      "avatar": "https://www.gravatar.com/avatar/4bbd2ecd016e674470b4de5f1620c88f?d=identicon\u0026s=64",
      "cl": "D319432",
      "clUrl": "https://phabricator.services.mozilla.com/D319432",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D319432",
      "email": "erichdongubler@gmail.com",
      "hash": "3fc847b28bcf892f1a5a5c4663753dd68674051e",
      "subject": "Bug 2060712 - fix(webgpu): adjust baseline expected outcomes to actual r=webgpu-reviewers,nical"
    },
    "D319434": {
      "author": "Nicolas Chevobbe",
      "avatar": "https://www.gravatar.com/avatar/f942478f2eaeb6cc42142cdd661976a7?d=identicon\u0026s=64",
      "cl": "D319434",
      "clUrl": "https://phabricator.services.mozilla.com/D319434",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D319434",
      "email": "nchevobbe@mozilla.com",
      "hash": "ceba34a1702337bb894c3f87965d629bac96ac1f",
      "subject": "Bug 2064213 - [devtools] Make Edit HTML via F2 key press check if node HTML can be edited. r=devtools-reviewers,bomsy"
    },
    "D319460": {
      "author": "Jonathan Kew",
      "avatar": "https://www.gravatar.com/avatar/3982a397275d6e1f078a70157c2dcb8a?d=identicon\u0026s=64",
      "cl": "D319460",
      "clUrl": "https://phabricator.services.mozilla.com/D319460",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D319460",
      "email": "jkew@mozilla.com",
      "hash": "2aff57ea99b9f6def15b9977b652732aab54954b",
      "subject": "Bug 2064374 - Move existing gfxFontEntry::HasFontTable to HasFontTableInternal, and make HasFontTable a non-virtual function that uses Skrifa if available. r=AlaskanEmily"
    },
    "D319462": {
      "author": "Keith Cirkel",
      "avatar": "https://www.gravatar.com/avatar/87a4065b580b6f1e43858ab49d98c109?d=identicon\u0026s=64",
      "cl": "D319462",
      "clUrl": "https://phabricator.services.mozilla.com/D319462",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D319462",
      "email": "keithamus@users.noreply.github.com",
      "hash": "689c96ae48e835fc2d97e5ab4df74762d0403d7e",
      "subject": "Bug 2064333 - Turn scoped registries on for nightly builds r=dom-core-reviewers,smaug"
    },
    "D319475": {
      "author": "AndiAJ",
      "avatar": "https://www.gravatar.com/avatar/b4ea35e4d5d0c51e2affc0dc2515853c?d=identicon\u0026s=64",
      "cl": "D319475",
      "clUrl": "https://phabricator.services.mozilla.com/D319475",
      "description": "The UI test successfully passed 25x on Firebase ✅\nAll UI tests successfully passed 1x on Firebase ✅\n\nDifferential Revision: https://phabricator.services.mozilla.com/D319475",
      "email": "andiaj@users.noreply.github.com",
      "hash": "5283d28f418c2f14b5debbe48e7017b257ee8540",
      "subject": "Bug 2064378 - Create new vertical toolbar swipe opens tabs tray related UI smoke test r=jajohnson"
    },
    "D319479": {
      "author": "Jan-Erik Rediger",
      "avatar": "https://www.gravatar.com/avatar/180564a02772d65450f1cf62a7e44d77?d=identicon\u0026s=64",
      "cl": "D319479",
      "clUrl": "https://phabricator.services.mozilla.com/D319479",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D319479",
      "email": "jrediger@mozilla.com",
      "hash": "bfce76f4173745190a0a48bc2877a8ecafc0a878",
      "subject": "Bug 2064328 - Update h2 r=aryx,supply-chain-reviewers"
    },
    "D319483": {
      "author": "Delia Pop",
      "avatar": "https://www.gravatar.com/avatar/9bc6f69101aaf2750dbd3cfc9d6b37d8?d=identicon\u0026s=64",
      "cl": "D319483",
      "clUrl": "https://phabricator.services.mozilla.com/D319483",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D319483",
      "email": "dpop@mozilla.com",
      "hash": "a84f6150c22787bbee7e0498eebcb436cf1c5bd2",
      "subject": "Bug 1925908 - Fix pauseResumeCancelDownloadTest UI test r=aaronmt"
    },
    "D319530": {
      "author": "Kershaw Chang",
      "avatar": "https://www.gravatar.com/avatar/608e04ebca94be52b05c003d51d43e07?d=identicon\u0026s=64",
      "cl": "D319530",
      "clUrl": "https://phabricator.services.mozilla.com/D319530",
      "description": "Use the same approach HttpChannelChild::Release() uses: dispatch off-main-thread\nreleases through the main thread with DecrementWithLimit\u003c2\u003e, so the count==1\nSendDeleteSelf and count==0 delete only run on the main thread where the IPDL\nreference is also released.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D319530",
      "email": "kershaw@mozilla.com",
      "hash": "7ff40451ff8b907d1826e4b689d356a9f62acd5b",
      "subject": "Bug 2061397 - Tear down WebSocketChannelChild on the main thread, r=necko-reviewers,valentin"
    },
    "D319545": {
      "author": "Jan-Niklas Jaeschke",
      "avatar": "https://www.gravatar.com/avatar/f8a4d2d2b8f9eec6bcb98f2ae8169d69?d=identicon\u0026s=64",
      "cl": "D319545",
      "clUrl": "https://phabricator.services.mozilla.com/D319545",
      "description": "A range with a single word cannot be divided into a start and an end term.\nRange-based matching did so anyway, which made the word boundary algorithms\ncompute an inverted search range and assert in nsFind.\n\nExact matching now handles those ranges, bounded by kMaxContextTermLength so\nthat the resulting URL stays short.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D319545",
      "email": "jjaschke@mozilla.com",
      "hash": "7d2a196be4c7edab4a02c157adfef8bd4d1fe9a6",
      "subject": "Bug 2061960 - Fall back to exact matching if a too-long range contains only one word. r=dom-core-reviewers,smaug"
    },
    "D319570": {
      "author": "Andrew Osmond",
      "avatar": "https://www.gravatar.com/avatar/bff3d32989145dfc299efa3b8dac36f7?d=identicon\u0026s=64",
      "cl": "D319570",
      "clUrl": "https://phabricator.services.mozilla.com/D319570",
      "description": "It also removes support for the old way of updating Widevine plugins\nas we have not shipped that in years (and Google stopped updating\nthe servers.)\n\nDifferential Revision: https://phabricator.services.mozilla.com/D319570",
      "email": "aosmond@mozilla.com",
      "hash": "68aef17bf11944441c4860c91639b3cf901e915f",
      "subject": "Bug 2064454 - Clean up dom/media/tools/generateGmpJson.py and make it support Linux aarch64. r=media-playback-reviewers,azebrowski"
    },
    "D319571": {
      "author": "Ryan VanderMeulen",
      "avatar": "https://www.gravatar.com/avatar/51823ded02903fa76c961fe2a3c1318a?d=identicon\u0026s=64",
      "cl": "D319571",
      "clUrl": "https://phabricator.services.mozilla.com/D319571",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D319571",
      "email": "rvandermeulen@mozilla.com",
      "hash": "060a663bb68bf739b68e539a7815fb9ec60c65d2",
      "subject": "Bug 2064446 - Update intellij-markdown to version 0.7.9. r=android-reviewers,adhingra"
    },
    "D319580": {
      "author": "Stephen Thompson",
      "avatar": "https://www.gravatar.com/avatar/f7173a41a5f3f5f210e160e79dda5488?d=identicon\u0026s=64",
      "cl": "D319580",
      "clUrl": "https://phabricator.services.mozilla.com/D319580",
      "description": "Try runs with Linux 24.04 code coverage builds show that browser_aboutRestartRequired_buildid_false-positive.js fails consistently. There is a timeout in test_telemetry_restartrequired_falsepositive_mismatch waiting on the `oop-browser-crashed` message. This fails whether or not the Nova redesign is enabled. Given that all of the tests in this suite are skipped on Windows ccov builds, I think it's reasonable to skip on Linux ccov as well.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D319580",
      "email": "sthompson@mozilla.com",
      "hash": "a5e8f93bbe79434949cf51343b09fdfd7e28d820",
      "subject": "Bug 2057533 - browser_aboutRestartRequired should always skip Linux ccov r=tabbrowser-reviewers,niklas"
    },
    "D319587": {
      "author": "Leo Tenenbaum",
      "avatar": "https://www.gravatar.com/avatar/191826fbebe3973ebd6d6eb595ddb5c2?d=identicon\u0026s=64",
      "cl": "D319587",
      "clUrl": "https://phabricator.services.mozilla.com/D319587",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D319587",
      "email": "ltenenbaum@mozilla.com",
      "hash": "a69f5bff740017c75085fbad9b80fd2b52da4050",
      "subject": "Bug 2061852 - Notify IME of selection change when handling eSetSelection command for EditContext. r=masayuki"
    },
    "D319588": {
      "author": "Benjamin Peterson",
      "avatar": "https://www.gravatar.com/avatar/cd2e442c42c95ed534e4197df4300222?d=identicon\u0026s=64",
      "cl": "D319588",
      "clUrl": "https://phabricator.services.mozilla.com/D319588",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D319588",
      "email": "benjamin@python.org",
      "hash": "900e996f98029e4d1d4a713ff283677c94bdd245",
      "subject": "Bug 2064482 - Remove empty browser_ipprotection_usage.js. r=ip-protection-reviewers,apopov"
    },
    "D319589": {
      "author": "Ryan VanderMeulen",
      "avatar": "https://www.gravatar.com/avatar/51823ded02903fa76c961fe2a3c1318a?d=identicon\u0026s=64",
      "cl": "D319589",
      "clUrl": "https://phabricator.services.mozilla.com/D319589",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D319589",
      "email": "rvandermeulen@mozilla.com",
      "hash": "5bbb3d01d376ac26db48d1b549209780b2bed3f3",
      "subject": "Bug 2064483 - Update Spotless to version 8.10.0. r=android-reviewers,adhingra"
    },
    "D319607": {
      "author": "Yubin Jamora",
      "avatar": "https://www.gravatar.com/avatar/c21ec870d5a27b600be6b5b58aba1a58?d=identicon\u0026s=64",
      "cl": "D319607",
      "clUrl": "https://phabricator.services.mozilla.com/D319607",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D319607",
      "email": "yjamora@mozilla.com",
      "hash": "f36c36336697190d601f184cdbd884af8b1f29b8",
      "subject": "Bug 2064470 - Add SW Agent Watch kit.svg r=ngrato"
    },
    "D319615": {
      "author": "Markus Stange",
      "avatar": "https://www.gravatar.com/avatar/711e7c6f7c2c62a7bc2eb760585c3daa?d=identicon\u0026s=64",
      "cl": "D319615",
      "clUrl": "https://phabricator.services.mozilla.com/D319615",
      "description": "This also fixes `IDBCursor.continue` and `console.assert`.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D319615",
      "email": "mstange.moz@gmail.com",
      "hash": "38230442eb92c67ebce260788f7c752b8a4af52a",
      "subject": "Bug 2064515 - Fix method matching for 'IDBObjectStore.delete'. r=perftest-reviewers,kshampur"
    },
    "D319623": {
      "author": "Glenn Watson",
      "avatar": "https://www.gravatar.com/avatar/3d823baa293744dbe3cbe8ce33d77065?d=identicon\u0026s=64",
      "cl": "D319623",
      "clUrl": "https://phabricator.services.mozilla.com/D319623",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D319623",
      "email": "git@chillybin.org",
      "hash": "0af30a5f2fda2bcf28d4311dfafbd978a1be67fe",
      "subject": "Bug 2060205 - Update `webrender-dcomp-disabled` expiration  DONTBUILD r=aryx"
    },
    "D319624": {
      "author": "Glenn Watson",
      "avatar": "https://www.gravatar.com/avatar/3d823baa293744dbe3cbe8ce33d77065?d=identicon\u0026s=64",
      "cl": "D319624",
      "clUrl": "https://phabricator.services.mozilla.com/D319624",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D319624",
      "email": "git@chillybin.org",
      "hash": "9651ada2b9bf3d973aa8e60d2f9e0c2e626d53da",
      "subject": "Bug 2060207 - Update `webrender-dcomp-present` expiration  DONTBUILD r=aryx"
    },
    "D319625": {
      "author": "Glenn Watson",
      "avatar": "https://www.gravatar.com/avatar/3d823baa293744dbe3cbe8ce33d77065?d=identicon\u0026s=64",
      "cl": "D319625",
      "clUrl": "https://phabricator.services.mozilla.com/D319625",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D319625",
      "email": "git@chillybin.org",
      "hash": "b18aaf1333451bc67f590e1392137360a5ef7615",
      "subject": "Bug 2060208 - Update `webrender-dcomp-overlays` expiration  DONTBUILD r=aryx"
    },
    "D319626": {
      "author": "Glenn Watson",
      "avatar": "https://www.gravatar.com/avatar/3d823baa293744dbe3cbe8ce33d77065?d=identicon\u0026s=64",
      "cl": "D319626",
      "clUrl": "https://phabricator.services.mozilla.com/D319626",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D319626",
      "email": "git@chillybin.org",
      "hash": "9354fdc423d53d4f9def434aa88e1c183ce4d8a6",
      "subject": "Bug 2060209 - Update `webrender-dcomp-compositing` expiration  DONTBUILD r=aryx"
    },
    "D319648": {
      "author": "Glenn Watson",
      "avatar": "https://www.gravatar.com/avatar/3d823baa293744dbe3cbe8ce33d77065?d=identicon\u0026s=64",
      "cl": "D319648",
      "clUrl": "https://phabricator.services.mozilla.com/D319648",
      "description": "Bug 2061411 routes a bitmap-strike run under a transform to the local-raster\nfallback, which rasterized at scale 1.0 and left the shader to scale the image up.\nCore Text and DirectWrite resample the strike at rasterization time, so a scaled\nemoji lost its detail before the GPU saw it. Take the raster scale from the\ntransform instead. Screen raster space only: a local raster space carries its own.\n\nThe reference moves to local(3.0), with a notref at local(1.0) pinning the soft\nrendering. Both bitmap tests drop to scale 1.0, since wrench emulates a device\npixel scale with a root scale transform that a reference cannot name.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D319648",
      "email": "git@chillybin.org",
      "hash": "9ac8b3931eb863aa0148846af82d402780e0eb78",
      "subject": "Bug 2064316 - Rasterize a scaled bitmap-strike glyph at its final size r=gfx-reviewers,lsalzman"
    },
    "D319661": {
      "author": "Sajid Anwar",
      "avatar": "https://www.gravatar.com/avatar/554aa5334d7607ad11128e48fddf84a0?d=identicon\u0026s=64",
      "cl": "D319661",
      "clUrl": "https://phabricator.services.mozilla.com/D319661",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D319661",
      "email": "sajidanwar94@gmail.com",
      "hash": "f60720040c58c42fd2a59e414bf78447638f2408",
      "subject": "Bug 2064596 - Exclude border/padding when applying text-box-trim to inline boxes. r=layout-reviewers,dshin"
    },
    "D319664": {
      "author": "Mike Hommey",
      "avatar": "https://www.gravatar.com/avatar/5d5f37905f36ca9989f88861a702cff3?d=identicon\u0026s=64",
      "cl": "D319664",
      "clUrl": "https://phabricator.services.mozilla.com/D319664",
      "description": "rustc lowers the `['\\u{FFFF}'; 2]` array repeat expression in\n`CollationElements::new` to a two-iteration store loop, which LLVM ends\nup lowering to a `memset_pattern16` libcall, so every call ends up\ncalling into libSystem in order to initialise 8 bytes of stack.\n\nWriting the array out element by element gives a plain 8-byte immediate\nstore instead.\n\nThe exact conditions that trigger LLVM's behavior are still under\ninvestigation.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D319664",
      "email": "mh+mozilla@glandium.org",
      "hash": "abdf99010e551c67a385f711f2efef132ca6d607",
      "subject": "Bug 2062662 - Avoid a memset_pattern16 libcall in the collator's CollationElements::new. r=hsivonen"
    },
    "D319669": {
      "author": "Dão Gottwald",
      "avatar": "https://www.gravatar.com/avatar/45dfe136efbb8e5f89eb0b21775ab195?d=identicon\u0026s=64",
      "cl": "D319669",
      "clUrl": "https://phabricator.services.mozilla.com/D319669",
      "description": "`DOMParser` keeps the whitespace between the markup's elements, and those text nodes change the accessibility tree the input exposes: the search bar gains an empty section child, which `browser_searchbar_new.js` catches. Only a build slow enough to assert the tree before it settles sees it, so opt is green while asan, tsan and debug fail; `MOZ_CHAOSMODE` with `--repeat` reproduces it on an opt build.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D319669",
      "email": "dao@mozilla.com",
      "hash": "e3871704dde74a22fcb78aebf4303344450f1e19",
      "subject": "Bug 2064276 - Drop the markup's whitespace text nodes. r=mbeier"
    },
    "D319704": {
      "author": "serge-sans-paille",
      "avatar": "https://www.gravatar.com/avatar/9cdfdfc05249440f57269a0d26487253?d=identicon\u0026s=64",
      "cl": "D319704",
      "clUrl": "https://phabricator.services.mozilla.com/D319704",
      "description": "Some compilers disregard this practice when they don't match their\nplatform-specific definition.\n\nUse a simpler signature for memcpy instead. It's just for a check test.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D319704",
      "email": "sguelton@mozilla.com",
      "hash": "c108651cf7d5c97ec44dc828295001f1156ac6fb",
      "subject": "Bug 2063812 - Do not override size_t definition in static-analysis test r=sylvestre"
    },
    "D319718": {
      "author": "serge-sans-paille",
      "avatar": "https://www.gravatar.com/avatar/9cdfdfc05249440f57269a0d26487253?d=identicon\u0026s=64",
      "cl": "D319718",
      "clUrl": "https://phabricator.services.mozilla.com/D319718",
      "description": "Since PEP-765, usage of a return statement in a finally block is\ndiscouraged and raises a SyntaxWarning.\n\nRemove references in .../code_analysis/utils.py as they did not serve any\npurpose.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D319718",
      "email": "sguelton@mozilla.com",
      "hash": "dfbbc6bc7db4999295a8d2d246573eaa43d7e96a",
      "subject": "Bug 2064646 - Remove return statement from finally block r=sylvestre"
    },
    "D319721": {
      "author": "Emilio Cobos Álvarez",
      "avatar": "https://www.gravatar.com/avatar/1d91d22a4892f16f744b31fd4286144e?d=identicon\u0026s=64",
      "cl": "D319721",
      "clUrl": "https://phabricator.services.mozilla.com/D319721",
      "description": "This reduces a bit the combinations the front-end needs to deal with and\nmakes lwthemes work the same on macOS / Windows and Linux.\n\nThis will allow to simplify some of the rules in a follow-up (e.g. a lot\nof the (-moz-native-theme) media queries might not need :not([lwtheme])\n(but we might need those for specificity, so not changing those yet).\n\nDifferential Revision: https://phabricator.services.mozilla.com/D319721",
      "email": "emilio@crisal.io",
      "hash": "578ad3ac373f47c8bd80c0ebf973cc45fec94d13",
      "subject": "Bug 2064650 - Make -moz-native-theme match only with the default theme. r=dao,desktop-theme-reviewers"
    },
    "D319738": {
      "author": "Sylvestre Ledru",
      "avatar": "https://www.gravatar.com/avatar/fb0fd07485efdfc05e02987075fdbab0?d=identicon\u0026s=64",
      "cl": "D319738",
      "clUrl": "https://phabricator.services.mozilla.com/D319738",
      "description": "clang 23 deprecates lifetime_capture_by(this) in favor of\nlifetime_capture_by_this. Keep the old spelling as a fallback since the\nminimum supported clang is still 19.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D319738",
      "email": "sylvestre@debian.org",
      "hash": "17705b58c6af21ce235ed476206ac17f63a01e8e",
      "subject": "Bug 2064677 - Add MOZ_LIFETIME_CAPTURE_BY_THIS to fix -Wdeprecated-attributes with clang 23 r=sergesanspaille"
    },
    "D319748": {
      "author": "Updatebot",
      "avatar": "https://www.gravatar.com/avatar/cd270ac15e761e2d4c08e9c9b7cfecca?d=identicon\u0026s=64",
      "cl": "D319748",
      "clUrl": "https://phabricator.services.mozilla.com/D319748",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D319748",
      "email": "updatebot@mozilla.com",
      "hash": "3466a98b4fde02020bda4e7bc3cb7234215bc353",
      "subject": "Bug 2064686 - Update android nightly application-services version bump to 13780acebfc945cc2d80e35d7cf732b097d58d28 r=dmeehan"
    },
    "D319761": {
      "author": "Jan Grulich",
      "avatar": "https://www.gravatar.com/avatar/12820c2f3213ea73507ca5f0855250f1?d=identicon\u0026s=64",
      "cl": "D319761",
      "clUrl": "https://phabricator.services.mozilla.com/D319761",
      "description": "Cap cursor_meta-\u003esize against the negotiated maximum and validate that\nbitmap_offset and the bitmap pixel data offset both point within the\nmetadata region before forming pointers and copying data.\n\nCopy cursor and videocrop metadata headers from shared memory into\nlocal storage before validating and using their fields, so the\nproducer cannot modify them between validation and use.\n\nThis is a simple backport of an WebRTC upstream change.\n\nUpstream commit: 9b33b6c524a185a20586741af262370291000b69\n\nDifferential Revision: https://phabricator.services.mozilla.com/D319761",
      "email": "jgrulich@redhat.com",
      "hash": "45376b1c54ed1c658f9168ff93b2e6fa5ae5f989",
      "subject": "Bug 2059127 - WebRTC backport: Screen capture: validate and snapshot cursor and videocrop metadata r=pehrsons"
    },
    "D319767": {
      "author": "Janika",
      "avatar": "https://www.gravatar.com/avatar/d7add56f60d7f21ede4174cc11ed2b5d?d=identicon\u0026s=64",
      "cl": "D319767",
      "clUrl": "https://phabricator.services.mozilla.com/D319767",
      "description": "Declare a required boolean \"x-restart-required\" on every policy describing\nwhether it only takes effect after a restart.\n\nContext: Firefox applies all policies once at startup and ignores this flag;\nit is consumed by downstream tooling that can apply policies live.\n\n- policies-schema.json: set the flag on BlockAboutConfig, BlockAboutSupport, ContentAnalysis, Cookies, DisableDeveloperTools, ExtensionSettings, HttpsOnlyMode, Proxy, SitePolicies, WebsiteFilter to true, and false for the rest.\n- policies-schema.meta.json: require the field and document its meaning.\n- test_policies_schema.js: cover the new required field.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D319767",
      "email": "jneuberger@mozilla.com",
      "hash": "8900a74e38528986453058402e520c57725cf988",
      "subject": "Bug 2046462 - Add x-restart-required flag to the policies schema r=bsmth,mkaply"
    },
    "D319803": {
      "author": "Jonathan Moss",
      "avatar": "https://www.gravatar.com/avatar/23959cfcaf593ca6293aeb48060593bc?d=identicon\u0026s=64",
      "cl": "D319803",
      "clUrl": "https://phabricator.services.mozilla.com/D319803",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D319803",
      "email": "jmoss@mozilla.com",
      "hash": "3aeedceaf111d11ba2afb4d08f76c692c1b170a1",
      "subject": "Bug 2019745 - Skip test_BHRObserver.js on Windows 11 25H2. r=aryx"
    },
    "d03dea60cb30": {
      "author": "agoloman",
      "avatar": "https://www.gravatar.com/avatar/cd12c4a70c28dead95af1f72ff892316?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "This reverts commit b5762f7765acf378d48b08d15255c66ca6913c4e.",
      "email": "agoloman@mozilla.com",
      "hash": "d03dea60cb3072b54fd4cd9586b1e26fd2cc5718",
      "subject": "Revert \"Bug 2063759 - Avoid line-clamp style adjustment for displays that aren't block/inline. r=firefox-style-system-reviewers,emilio,layout-reviewers\" for causing wr failures @line-clamp-016.html."
    },
    "f1f7eab5a47a": {
      "author": "Serban Stanca",
      "avatar": "https://www.gravatar.com/avatar/977312186062f329a7e4302ab972ae7b?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "This reverts commit 9965ea3fd96678b77d41ac87ed9db8ef1f348930.\n\nThis reverts commit 8b6cdc4f7726bdcc388416a35dfa76e4ec24a202.\n\nThis reverts commit 3fc847b28bcf892f1a5a5c4663753dd68674051e.",
      "email": "sstanca@mozilla.com",
      "hash": "f1f7eab5a47ac172bd1951dd1b743ab5ae65a002",
      "subject": "Revert \"Bug 2062837, Bug 2060712 - test(webgpu): update CTS to 535149e23e538e4f8fe3d6266e32c68b7017ccc0 r=webgpu-reviewers,teoxoy\" for causing vendor failures."
    },
    "f4b188fc7974": {
      "author": "Cosmin Sabou",
      "avatar": "https://www.gravatar.com/avatar/392cb3f0cf45743e207bd4bcde85f272?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "",
      "email": "csabou@mozilla.com",
      "hash": "f4b188fc79745ed1ce6cd5a1f5abbabd8f36f74d",
      "subject": "Bug 2063903 - Update background-size-near-zero-svg to pass on linux with draw snapshot."
    },
    "f83dfa010316": {
      "author": "Serban Stanca",
      "avatar": "https://www.gravatar.com/avatar/977312186062f329a7e4302ab972ae7b?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "This reverts commit 689c96ae48e835fc2d97e5ab4df74762d0403d7e.",
      "email": "sstanca@mozilla.com",
      "hash": "f83dfa0103163018c2b26f4cf15f50fda0b9bc52",
      "subject": "Revert \"Bug 2064333 - Turn scoped registries on for nightly builds r=dom-core-reviewers,smaug\" for causing devtools failures in browser_webconsole_object_inspector_entries.js."
    },
    "f8a84cd6151a": {
      "author": "agoloman",
      "avatar": "https://www.gravatar.com/avatar/cd12c4a70c28dead95af1f72ff892316?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "This reverts commit adc7fd1ba540e9202eabc7ccb7b4a94872340826.",
      "email": "agoloman@mozilla.com",
      "hash": "f8a84cd6151a43f293a27948ac691b618f8de6e5",
      "subject": "Revert \"Bug 2062783 - Use moz-src for sessionstore. r=Gijs,omc-reviewers,migration-reviewers,firefox-desktop-core-reviewers ,jswinarton,hsohaney,sclements,aminomancer,perftest-reviewers,kshampur\" for causing xpc failures @test_cookies_thirdparty.js."
    }
  },
  "date": "2026-08-19",
  "days": 1,
  "generatedAt": "2026-08-19T22:07:01Z",
  "markdown": "## Highlights\n- **Web Platform** Scoped Custom Element Registries were turned on for Nightly, opening up another major component-model experiment for web developers. [Phab D319462](https://phabricator.services.mozilla.com/D319462)\n- **UI** New Tab search keeps moving toward a real embedded urlbar component, with a gated \u003cmoz-urlbar\u003e, new SAP plumbing, and tighter actor scoping. [Phab D318749](https://phabricator.services.mozilla.com/D318749)\n- **Mobile** Firefox Android landed a substantial Stocks widget expansion with watchlists, ticker search, multiple sizes, and richer layouts. [Phab D318605](https://phabricator.services.mozilla.com/D318605)\n- **Security** Windows sandbox policy tightened shader-cache access to pre-created read-only paths, reducing filesystem write surface. [Phab D317560](https://phabricator.services.mozilla.com/D317560)\n- **Networking** WebSocketChannelChild teardown moved to the main thread, a good sign of shutdown hardening in a historically sharp edge. [Phab D319530](https://phabricator.services.mozilla.com/D319530)\n- **Rendering** SVG support improved in two useful ways: fractional viewports landed and text-box-trim behavior for inline boxes was refined, though the latter was unstable enough to get backed out. [Phab D319066](https://phabricator.services.mozilla.com/D319066)\n- **Perf** Profiler and perf infra got real attention with ETW SourceLoad events, more Raptor labels, and lower overhead in page registration paths. [Phab D318837](https://phabricator.services.mozilla.com/D318837)\n- **Media** WebRTC screen capture now validates and snapshots cursor and video-crop metadata, tightening correctness in capture pipelines. [Phab D319761](https://phabricator.services.mozilla.com/D319761)\n- **Privacy** Containers telemetry coverage expanded across settings, tabs, bookmarks, and sync tab surfaces, giving Mozilla much better visibility into that privacy feature's usage. [Phab D318989](https://phabricator.services.mozilla.com/D318989)\n\n## What landed by area\n\n### Address bar, New Tab, and browser UI\n- **UI** Wired New Tab searchbar SAP through result groups and providers so the embedded search surface can participate in the existing result pipeline. [Phab D319411](https://phabricator.services.mozilla.com/D319411)\n- **UI** Registered `\u003cmoz-urlbar\u003e` as New Tab's search component behind a feature gate. [Phab D318749](https://phabricator.services.mozilla.com/D318749)\n- **UI** Scoped the Urlbar actor to about:newtab and about:home to narrow where the embedded actor is active. [Phab D318748](https://phabricator.services.mozilla.com/D318748)\n- **UI** Gated the search-terms persistence check on the address bar so the behavior does not leak into other consumers. [Phab D319410](https://phabricator.services.mozilla.com/D319410)\n- **UI** Deferred placeholder updates to tab switches only in the address bar, reducing churn in other contexts. [Phab D319334](https://phabricator.services.mozilla.com/D319334)\n- **UI** Gated copy and cut controller behavior on the address bar for cleaner component isolation. [Phab D319333](https://phabricator.services.mozilla.com/D319333)\n- **UI** Built the query context in the realm that reads it, tightening cross-realm ownership in the New Tab search work. [Phab D319413](https://phabricator.services.mozilla.com/D319413)\n- **Refactor** Cloned parent-sent payloads into the content realm instead of sharing assumptions across realms. [Phab D319332](https://phabricator.services.mozilla.com/D319332)\n- **UI** Parsed the input markup with DOMParser for the new search component path. [Phab D319331](https://phabricator.services.mozilla.com/D319331)\n- **Refactor** Dropped whitespace text nodes from the search input markup. [Phab D319669](https://phabricator.services.mozilla.com/D319669)\n- **Refactor** Read the default user context id without `Ci`, trimming coupling in urlbar code. [Phab D319409](https://phabricator.services.mozilla.com/D319409)\n- **Refactor** Added `getScotchBonnetPref` to the content prefs shim for the New Tab search stack. [Phab D319408](https://phabricator.services.mozilla.com/D319408)\n- **UI** Observed the AI window state only from a chrome window, another cleanup in the same UI plumbing. [Phab D319335](https://phabricator.services.mozilla.com/D319335)\n- **UI** Landed privacy widget UX fixes. [Phab D319011](https://phabricator.services.mozilla.com/D319011)\n- **UI** Connected the PDF viewer download button to the bottom-right tools layout on Android. [Phab D319233](https://phabricator.services.mozilla.com/D319233)\n- **UI** Added the wireframe for a new Android PDF viewer tools layout. [Phab D318561](https://phabricator.services.mozilla.com/D318561)\n- **UI** Basic layout and image positioning landed for the FRO template. [Phab D317122](https://phabricator.services.mozilla.com/D317122)\n- **UI** Fixed the file search bar nav button hover styling in DevTools. [Phab D318823](https://phabricator.services.mozilla.com/D318823)\n- **A11y** Changed backup dialog headings from h1 to h2 to restore proper heading structure. [Phab D302841](https://phabricator.services.mozilla.com/D302841)\n- **UI** Stopped clearing the status bar just because a frame was reframed. [Phab D310891](https://phabricator.services.mozilla.com/D310891)\n- **UI** Fixed a macOS regression where setting Firefox as default browser could trigger two prompts. [Phab D317309](https://phabricator.services.mozilla.com/D317309)\n- **UI** Made `-moz-native-theme` match only with the default theme. [Phab D319721](https://phabricator.services.mozilla.com/D319721)\n\n### Android and Firefox Mobile\n- **Mobile** Added a small size to the Stocks widget. [Phab D318605](https://phabricator.services.mozilla.com/D318605)\n- **Mobile** Added watchlist add and remove actions to the Stocks widget. [Phab D318604](https://phabricator.services.mozilla.com/D318604)\n- **Mobile** Added a Markets and Watchlist dropdown to the Stocks widget. [Phab D318602](https://phabricator.services.mozilla.com/D318602)\n- **Mobile** Added localized strings for Stocks watchlist and ticker search. [Phab D318603](https://phabricator.services.mozilla.com/D318603)\n- **Mobile** Updated the Stocks feed to fetch data for individual tickers. [Phab D318606](https://phabricator.services.mozilla.com/D318606)\n- **Mobile** Added ticker search feed and state to the Stocks widget. [Phab D318607](https://phabricator.services.mozilla.com/D318607)\n- **Mobile** Added the Stocks widget ticker search UI. [Phab D318608](https://phabricator.services.mozilla.com/D318608)\n- **Mobile** Added a Watchlist tab to the medium Stocks widget layout. [Phab D318609](https://phabricator.services.mozilla.com/D318609)\n- **Mobile** Added retry actions to add-on enable, disable, and uninstall failure snackbars. [Phab D317431](https://phabricator.services.mozilla.com/D317431)\n- **Mobile** Added a retry action to the Tabs Tray \"send to device\" failure snackbar. [Phab D316763](https://phabricator.services.mozilla.com/D316763)\n- **Mobile** Embedded summarize settings into the summarization store. [Phab D317852](https://phabricator.services.mozilla.com/D317852)\n- **Mobile** Made the summarize settings \"learn more\" link state-driven. [Phab D317851](https://phabricator.services.mozilla.com/D317851)\n- **Refactor** Removed the duplicate `SummarizationSettingsCache`. [Phab D317850](https://phabricator.services.mozilla.com/D317850)\n- **Refactor** Removed `viewAppeared` and `settingsLoaded` in favor of initial-state seeding for summarization settings. [Phab D318554](https://phabricator.services.mozilla.com/D318554)\n- **Mobile** Made `closeSoftKeyboard()` failures non-fatal in an Android efficiency test path. [Phab D319321](https://phabricator.services.mozilla.com/D319321)\n- **Mobile** Converted file upload permission UI coverage into the `ui/efficiency` suite. [Phab D319317](https://phabricator.services.mozilla.com/D319317)\n- **Mobile** Converted a custom tab share button test into the `ui/efficiency` suite. [Phab D319316](https://phabricator.services.mozilla.com/D319316)\n- **Mobile** Converted a custom tab login-save test into the `ui/efficiency` suite. [Phab D319315](https://phabricator.services.mozilla.com/D319315)\n- **Mobile** Converted a \"Never Translate\" test into the `ui/efficiency` suite. [Phab D319314](https://phabricator.services.mozilla.com/D319314)\n- **Mobile** Converted a translation language download test into the `ui/efficiency` suite. [Phab D319313](https://phabricator.services.mozilla.com/D319313)\n- **Mobile** Fixed the `pauseResumeCancelDownloadTest` UI test. [Phab D319483](https://phabricator.services.mozilla.com/D319483)\n- **Mobile** Added a smoke test for opening the tabs tray with the new vertical toolbar swipe. [Phab D319475](https://phabricator.services.mozilla.com/D319475)\n- **Mobile** Added a smoke test for the empty bookmarks view import button. [Phab D319117](https://phabricator.services.mozilla.com/D319117)\n- **Mobile** Fixed the `openCustomTabInFirefoxTest` efficiency UI test. [Phab D319071](https://phabricator.services.mozilla.com/D319071)\n- **Build** Updated Android's Adjust SDK to 5.8.0. [Phab D317940](https://phabricator.services.mozilla.com/D317940)\n- **Build** Updated Android's IntelliJ Markdown plugin to 0.7.9. [Phab D319571](https://phabricator.services.mozilla.com/D319571)\n- **Build** Updated Android Spotless to 8.10.0. [Phab D319589](https://phabricator.services.mozilla.com/D319589)\n\n### DOM, editing, and web platform\n- **Web Platform** Turned Scoped Custom Element Registries on for Nightly builds. [Phab D319462](https://phabricator.services.mozilla.com/D319462)\n- **Web Platform** Implemented parsing for `flex-wrap: balance` and `flex-line-count` in Servo. [Phab D318746](https://phabricator.services.mozilla.com/D318746)\n- **Web Platform** Implemented `RTCConfiguration.alwaysNegotiateDataChannels`. [Phab D294732](https://phabricator.services.mozilla.com/D294732)\n- **Web Platform** Fixed method matching for `IDBObjectStore.delete`, likely reducing false mismatches in perf tooling and instrumentation around IndexedDB. [Phab D319615](https://phabricator.services.mozilla.com/D319615)\n- **Web Platform** Improved EditContext by notifying IME of selection changes when handling `eSetSelection`. [Phab D319587](https://phabricator.services.mozilla.com/D319587)\n- **Web Platform** Added a fallback to non-localized datetime error messages when localized formatting fails. [Phab D319175](https://phabricator.services.mozilla.com/D319175)\n- **Web Platform** Fell back to exact matching when a too-long range contains only one word. [Phab D319545](https://phabricator.services.mozilla.com/D319545)\n- **Web Platform** Committed `Option` value on mouse events for base select. [Phab D319091](https://phabricator.services.mozilla.com/D319091)\n- **Web Platform** Reported `::-webkit-scrollbar` as unsupported in `@supports` conditions. [Phab D318655](https://phabricator.services.mozilla.com/D318655)\n- **Web Platform** Added a WPT for `decodeAudioData` into a much higher context rate. [Phab D306577](https://phabricator.services.mozilla.com/D306577)\n- **Web Platform** Added a WPT for `VideoFrame.copyTo` opaque and alpha format conversion. [Phab D294066](https://phabricator.services.mozilla.com/D294066)\n- **Refactor** Treated `using` bindings as non-writable like `const`. [Phab D315807](https://phabricator.services.mozilla.com/D315807)\n- **Refactor** Documented the reasoning for the current string length limit in the JS engine. [Phab D316429](https://phabricator.services.mozilla.com/D316429)\n\n### Networking, storage, and process lifetime\n- **Networking** Tore down `WebSocketChannelChild` on the main thread to make shutdown sequencing safer. [Phab D319530](https://phabricator.services.mozilla.com/D319530)\n- **Networking** Retargeted `WebTransportSessionProxy` before activating queued streams. [Phab D315245](https://phabricator.services.mozilla.com/D315245)\n- **Networking** Handled backslashes correctly in `SplitMimetype`. [Phab D319097](https://phabricator.services.mozilla.com/D319097)\n- **Networking** Added an end-of-string check in string iteration logic inside necko. [Phab D319073](https://phabricator.services.mozilla.com/D319073)\n- **Networking** Removed all references to `REFERRER_POLICY_COUNT`. [Phab D319143](https://phabricator.services.mozilla.com/D319143)\n- **Networking** Cleared the jar protocol handler after the JS module loader is gone. [Phab D317421](https://phabricator.services.mozilla.com/D317421)\n- **Networking** Stopped dereferencing `gJarHandler` after it is cleared at shutdown. [Phab D317420](https://phabricator.services.mozilla.com/D317420)\n- **Refactor** Removed dead `javascript:` URI handling from `LoadHistoryEntry`. [Phab D314860](https://phabricator.services.mozilla.com/D314860)\n\n### Rendering, graphics, and GPU\n- **Rendering** Added support for fractional SVG viewports. [Phab D319066](https://phabricator.services.mozilla.com/D319066)\n- **Rendering** Excluded border and padding when applying `text-box-trim` to inline boxes. [Phab D319661](https://phabricator.services.mozilla.com/D319661)\n- **Rendering** Rasterized scaled bitmap-strike glyphs at final size for better glyph quality and less intermediate work. [Phab D319648](https://phabricator.services.mozilla.com/D319648)\n- **Rendering** Made `gfxFontEntry::HasFontTable` non-virtual and route through Skrifa when available. [Phab D319460](https://phabricator.services.mozilla.com/D319460)\n- **GPU** Allowed `setsockopt` and `getsockopt` in the RDD sandbox for Vulkan. [Phab D318787](https://phabricator.services.mozilla.com/D318787)\n- **GPU** Gave ARM a `SwapRB8_SIMD` specialization so GCC can resolve the right path. [Phab D317695](https://phabricator.services.mozilla.com/D317695)\n- **GPU** Switched NEON swizzle specializations to explicit reinterprets so they build with GCC. [Phab D317694](https://phabricator.services.mozilla.com/D317694)\n- **GPU** Updated WebRender DComp metric expirations for compositing, overlays, present, and disabled states. [Phab D319626](https://phabricator.services.mozilla.com/D319626) [Phab D319625](https://phabricator.services.mozilla.com/D319625) [Phab D319624](https://phabricator.services.mozilla.com/D319624) [Phab D319623](https://phabricator.services.mozilla.com/D319623)\n- **GPU** Landed an unspecified gfx change in [bug 2060008](https://bugzilla.mozilla.org/show_bug.cgi?id=2060008). [Phab D315941](https://phabricator.services.mozilla.com/D315941)\n- **GPU** Updated WebGPU CTS coverage to newer upstream snapshots and adjusted baseline expectations, although the CTS roll itself did not stick cleanly. [Phab D316432](https://phabricator.services.mozilla.com/D316432) [Phab D318906](https://phabricator.services.mozilla.com/D318906) [Phab D319432](https://phabricator.services.mozilla.com/D319432)\n\n### Media and WebRTC\n- **Media** Backported WebRTC screen-capture validation and snapshotting for cursor and video-crop metadata. [Phab D319761](https://phabricator.services.mozilla.com/D319761)\n- **Media** Switched ICE-Lite peers to regular nomination. [Phab D315043](https://phabricator.services.mozilla.com/D315043)\n- **Media** Renamed variables in `PeerConnection.sys.mjs` to avoid shadowing. [Phab D316997](https://phabricator.services.mozilla.com/D316997)\n- **Media** Cleaned up `generateGmpJson.py` and added Linux aarch64 support. [Phab D319570](https://phabricator.services.mozilla.com/D319570)\n- **Media** Updated opus to revision `03647f524a40b05a1898522e92033810b58103c7`. [Phab D318869](https://phabricator.services.mozilla.com/D318869)\n\n### Security, sandbox, privacy, and enterprise\n- **Security** Pre-created the shader-cache so sandbox policy can allow read-only access. [Phab D317559](https://phabricator.services.mozilla.com/D317559)\n- **Security** Blocked directory creation and restricted access to read-only in the related sandbox rule set. [Phab D317560](https://phabricator.services.mozilla.com/D317560)\n- **Security** Switched `RegistryDispatcher::NtCreateKey` to `OpenKeyAction`. [Phab D318175](https://phabricator.services.mozilla.com/D318175)\n- **Security** Fixed a trivial string indexing bug in Linux sandbox policy construction. [Phab D317181](https://phabricator.services.mozilla.com/D317181)\n- **Privacy** Added `x-restart-required` to the enterprise policies schema. [Phab D319767](https://phabricator.services.mozilla.com/D319767)\n- **Privacy** Expanded Containers UI telemetry definitions in `metrics.yaml`. [Phab D318989](https://phabricator.services.mozilla.com/D318989)\n- **Privacy** Added Containers telemetry in Settings. [Phab D318990](https://phabricator.services.mozilla.com/D318990)\n- **Privacy** Added Containers telemetry in browser base UI. [Phab D318991](https://phabricator.services.mozilla.com/D318991)\n- **Privacy** Added Containers telemetry in tab surfaces. [Phab D318992](https://phabricator.services.mozilla.com/D318992)\n- **Privacy** Added Containers telemetry in Bookmarks. [Phab D318994](https://phabricator.services.mozilla.com/D318994)\n- **Privacy** Disabled Rust logins storage on release. [Phab D319038](https://phabricator.services.mozilla.com/D319038)\n- **Privacy** Removed an empty IP Protection usage test file. [Phab D319588](https://phabricator.services.mozilla.com/D319588)\n\n### Performance, profiler, and test infrastructure\n- **Perf** Emitted ETW `SourceLoad` events and reported JIT source location separately from function name. [Phab D318837](https://phabricator.services.mozilla.com/D318837)\n- **Perf** Added more Raptor browser function labels. [Phab D319430](https://phabricator.services.mozilla.com/D319430)\n- **Perf** Avoided allocating `PageInformation` when re-registering a known page. [Phab D319135](https://phabricator.services.mozilla.com/D319135)\n- **Perf** Added experimental Speedometer jobs. [Phab D319140](https://phabricator.services.mozilla.com/D319140)\n- **Perf** Updated support for the newer Speedometer completion-state API. [Phab D319139](https://phabricator.services.mozilla.com/D319139)\n- **Perf** Updated the samply toolchain revision. [Phab D319266](https://phabricator.services.mozilla.com/D319266)\n- **Perf** Added a pageload domain signal indicating whether a client is active. [Phab D318865](https://phabricator.services.mozilla.com/D318865)\n- **Build** Switched browsertime tasks to `uv`. [Phab D312750](https://phabricator.services.mozilla.com/D312750)\n- **Build** Switched web-platform-tests tasks to `uv`. [Phab D312754](https://phabricator.services.mozilla.com/D312754)\n- **Build** Switched general test tasks to `uv`. [Phab D312753](https://phabricator.services.mozilla.com/D312753)\n- **Build** Added per-test Chrome arguments to Raptor. [Phab D318591](https://phabricator.services.mozilla.com/D318591)\n- **Perf** Enabled camera VideoEncoder tests on Chrome and custom-car. [Phab D304620](https://phabricator.services.mozilla.com/D304620)\n\n### Build, refactors, DevTools, and quality work\n- **Build** Activated the `performance-unnecessary-copy-initialization` static analysis check. [Phab D319023](https://phabricator.services.mozilla.com/D319023)\n- **Refactor** Fixed `performance-unnecessary-copy-initialization` findings in profiler tools. [Phab D319022](https://phabricator.services.mozilla.com/D319022)\n- **Refactor** Fixed the same warning class in necko. [Phab D319021](https://phabricator.services.mozilla.com/D319021)\n- **DevTools** Fixed the same warning class in DevTools. [Phab D319020](https://phabricator.services.mozilla.com/D319020)\n- **A11y** Fixed the same warning class in accessibility code. [Phab D319019](https://phabricator.services.mozilla.com/D319019)\n- **Build** Added `MOZ_LIFETIME_CAPTURE_BY_THIS` to handle clang 23 deprecated-attribute fallout. [Phab D319738](https://phabricator.services.mozilla.com/D319738)\n- **Refactor** Used the default operator== implementation in `mfbt/`. [Phab D319166](https://phabricator.services.mozilla.com/D319166)\n- **Refactor** Removed a `return` statement from a `finally` block. [Phab D319718](https://phabricator.services.mozilla.com/D319718)\n- **Build** Made `test_artifact_patterns` an ordered sequence. [Phab D319235](https://phabricator.services.mozilla.com/D319235)\n- **Build** Avoided overriding `size_t` in a static-analysis test. [Phab D319704](https://phabricator.services.mozilla.com/D319704)\n- **DevTools** Made \"Edit HTML\" on F2 check whether node HTML can actually be edited. [Phab D319434](https://phabricator.services.mozilla.com/D319434)\n- **DevTools** Fixed JSDoc type expressions that jsdoc could not parse. [Phab D319242](https://phabricator.services.mozilla.com/D319242)\n- **Refactor** Documented `gBrowser` progress listener infrastructure. [Phab D319191](https://phabricator.services.mozilla.com/D319191)\n- **Refactor** Tidied tabbrowser docs. [Phab D319190](https://phabricator.services.mozilla.com/D319190)\n- **Refactor** Dropped the indentation-preserving block from `Tabbrowser.sys.mjs`. [Phab D319209](https://phabricator.services.mozilla.com/D319209)\n- **Refactor** Removed needless borrows in `labeled_memory_distribution.rs`. [Phab D316190](https://phabricator.services.mozilla.com/D316190)\n- **Build** Updated h2. [Phab D319479](https://phabricator.services.mozilla.com/D319479)\n- **Refactor** Improved `IMEStateManager` logging. [Phab D318382](https://phabricator.services.mozilla.com/D318382)\n- **Refactor** Made `IMEStateManager::OnChangeFocusInternal()` bail out if commit composition triggers another focus change. [Phab D318383](https://phabricator.services.mozilla.com/D318383)\n- **Refactor** Made `nsFocusManager` stop handling a focus move if `OnChangeFocus` triggers another focus move. [Phab D318384](https://phabricator.services.mozilla.com/D318384)\n- **Refactor** Strengthened an assertion in `nsTStringRepr::CharAt`. [Phab D317182](https://phabricator.services.mozilla.com/D317182)\n- **Refactor** Handled a zero-length allocation chunk test case. [Phab D318587](https://phabricator.services.mozilla.com/D318587)\n- **Refactor** Replaced direct service getter uses across code with generated services accessors in a multi-part cleanup. [Phab D318838](https://phabricator.services.mozilla.com/D318838) [Phab D318839](https://phabricator.services.mozilla.com/D318839) [Phab D318840](https://phabricator.services.mozilla.com/D318840) [Phab D318841](https://phabricator.services.mozilla.com/D318841) [Phab D318842](https://phabricator.services.mozilla.com/D318842)\n- **Build** Dropped the GeckoView copy of the Firefox contributor guide. [Phab D318453](https://phabricator.services.mozilla.com/D318453)\n- **Refactor** Avoided a `memset_pattern16` libcall in the collator's `CollationElements::new`. [Phab D319664](https://phabricator.services.mozilla.com/D319664)\n- **Perf** Added Smart Window enabled metrics. [Phab D319283](https://phabricator.services.mozilla.com/D319283)\n- **DevTools** Report tests that leave a panel or menupopup open at the end of a file. [Phab D317411](https://phabricator.services.mozilla.com/D317411)\n- **DevTools** Fail tests that click inside a popup that is not open. [Phab D317772](https://phabricator.services.mozilla.com/D317772)\n- **DevTools** Wait for the IdP cookie popup in `setupTest`. [Phab D317329](https://phabricator.services.mozilla.com/D317329)\n- **Build** Always skip `browser_aboutRestartRequired` on Linux ccov. [Phab D319580](https://phabricator.services.mozilla.com/D319580)\n- **Build** Skip `test_BHRObserver.js` on Windows 11 25H2. [Phab D319803](https://phabricator.services.mozilla.com/D319803)\n\n## Reverts \u0026 Reapplies\n- **Rendering** Reverted the inline `text-box-trim` change after WPT failures in `text-box-trim-inline-box-005.html`. [bug 2064596](https://bugzilla.mozilla.org/show_bug.cgi?id=2064596)\n- **Privacy** Reverted Containers UI telemetry part 7 for sync tabs menu after mochitest failures in `browser_library_container_menu.js`. [bug 2063946](https://bugzilla.mozilla.org/show_bug.cgi?id=2063946)\n- **GPU** Reverted the newer WebGPU CTS roll after vendor failures. [bug 2062837](https://bugzilla.mozilla.org/show_bug.cgi?id=2062837)\n- **UI** Reverted the status bar reframing fix after bustage in `bp-nu`. [bug 2053212](https://bugzilla.mozilla.org/show_bug.cgi?id=2053212)\n- **Mobile** Reverted an Android efficiency test change because it was filed under the wrong bug number. [bug 2063602](https://bugzilla.mozilla.org/show_bug.cgi?id=2063602)\n- **UI** Reverted Urlbar actor scoping once for a merge conflict with its own backout. [bug 2062209](https://bugzilla.mozilla.org/show_bug.cgi?id=2062209)\n- **Web Platform** Reverted Scoped Custom Element Registries on Nightly after DevTools failures in `browser_webconsole_object_inspector_entries.js`. [bug 2064333](https://bugzilla.mozilla.org/show_bug.cgi?id=2064333)\n- **UI** Reverted the New Tab Urlbar actor stack twice after mochitest failures in `browser_searchbar_new.js`. [bug 2062209](https://bugzilla.mozilla.org/show_bug.cgi?id=2062209)\n- **Media** Reverted the `VideoFrame.copyTo` WPT on Android because of webcodecs failures. [bug 2031524](https://bugzilla.mozilla.org/show_bug.cgi?id=2031524)\n- **Perf** Reverted camera VideoEncoder test enablement after lint failures. [bug 2044846](https://bugzilla.mozilla.org/show_bug.cgi?id=2044846)\n- **UI** Reverted `moz-src` for sessionstore after xpcshell failures in `test_cookies_thirdparty.js`. [bug 2062783](https://bugzilla.mozilla.org/show_bug.cgi?id=2062783)\n- **Refactor** Reverted part 5 of the generated Services cleanup after build bustage in `nsChromeProtocolHandler.cpp`. [bug 2063717](https://bugzilla.mozilla.org/show_bug.cgi?id=2063717)\n- **Rendering** Reverted a `line-clamp` style adjustment after WebRender failures in `line-clamp-016.html`. [bug 2063759](https://bugzilla.mozilla.org/show_bug.cgi?id=2063759)",
  "repo": "firefox",
  "repoDisplay": "Firefox",
  "rollGroups": [
    {
      "name": "No",
      "count": 4
    },
    {
      "name": "Merge",
      "count": 1
    }
  ],
  "since": "2026-08-19",
  "totals": {
    "commits": 201,
    "features": 196,
    "rolls": 5
  },
  "until": "2026-08-19"
}