{
  "commits": {
    "269f9eeac2b9": {
      "author": "agoloman",
      "avatar": "https://www.gravatar.com/avatar/cd12c4a70c28dead95af1f72ff892316?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "This reverts commit 18b914c1818605f4136c8ab372a9ea1b07bb7344.",
      "email": "agoloman@mozilla.com",
      "hash": "269f9eeac2b99302b7dde5492ff6c8bc39d0897d",
      "subject": "Revert \"Bug 2058723 - AITab generation code r=Mardak,ai-platform-reviewers,fluent-reviewers,flod,thasan\" for causing bc failures @browser_aitab_generation.js. IGNORE BAD COMMIT MESSAGES"
    },
    "2fcba59e9c8f": {
      "author": "Serban Stanca",
      "avatar": "https://www.gravatar.com/avatar/977312186062f329a7e4302ab972ae7b?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "This reverts commit c04c1c0003f5a5a6f522570f10afd92c92f20c45.\n\nThis reverts commit 7da51d498b3ff1fb7533f59eae9134bdeb3be833.\n\nThis reverts commit ebf212a7c9e95210218881dd97aff9e093dabdfb.",
      "email": "sstanca@mozilla.com",
      "hash": "2fcba59e9c8f07e6364758261293db85a7380d18",
      "subject": "Revert \"Bug 2060788 - Surface stale and revalidation state in Happy Eyeballs profiler markers r=necko-reviewers,jesup\" for causing wpt failures in video_dynamic_poster_absolute.htm."
    },
    "303e4b8e5131": {
      "author": "pstanciu",
      "avatar": "https://www.gravatar.com/avatar/cd361de239f63fe1459e93f742450a3d?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "This reverts commit ff53f33899d08f8ecad25bcb8a810166b47997ca.",
      "email": "pstanciu@mozilla.com",
      "hash": "303e4b8e5131edc70584162e5e9e172c6d9ebf87",
      "subject": "Revert \"Bug 2062197 - Update hover state on pointer events as well as mouse events. r=smaug\" for causing mochitest failures @ test_group_touchevents-6.html"
    },
    "37696b91017b": {
      "author": "Serban Stanca",
      "avatar": "https://www.gravatar.com/avatar/977312186062f329a7e4302ab972ae7b?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "This reverts commit e640c9ef21472f3e7f71e1541c9b0c8dadebb715.",
      "email": "sstanca@mozilla.com",
      "hash": "37696b91017b80fd07bdd844d8bdc91d08e361ce",
      "subject": "Revert \"Bug 2055445 - [devtools] Display higher precision width and height in ViewportSize highlighter. r=emilio,devtools-reviewers,layout-reviewers,webidl,ochameau\" for causing Android webdriver failures."
    },
    "3d198cf40406": {
      "author": "agoloman",
      "avatar": "https://www.gravatar.com/avatar/cd12c4a70c28dead95af1f72ff892316?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "This reverts commit ba2c3a5b0735e67b4fd904a6fd324a9f79c44cf1.\n\nRevert \"Bug 2062193 - Expect windows.update() to clamp an off-screen position to the screen's available area in browser_ext_windows_size.js, and re-enable the test on mac, r=extension-reviewers,rpl.\"\n\nThis reverts commit 36ffcad0ba0cb10d8348d99fbe0095359e03fcf4.\n\nRevert \"Bug 2062191 - Use fake media streams in browser_ext_webrtc.js and re-enable it on mac, r=extension-reviewers,rpl.\"\n\nThis reverts commit f22844d2d7c424875ac74b56d88590f8d489e9f6.\n\nRevert \"Bug 2062186 - Fix the intermittent stale about:preferences tab in browser_ext_url_overrides_newtab.js, r=extension-reviewers,rpl.\"\n\nThis reverts commit c02ebe1d487482c3ddfdffde9be1c46be1ce4f6d.\n\nRevert \"Bug 2062189 - Wait for the parent process to register the menu item before opening a context menu in the browserAction, pageAction and sidebarAction contextMenu tests, r=extension-reviewers,rpl.\"\n\nThis reverts commit e3f81fcb94c16422e2643009af485d88647fdfd8.",
      "email": "agoloman@mozilla.com",
      "hash": "3d198cf40406d831af756f13ed2254114c5798dd",
      "subject": "Revert \"Bug 2030542, Bug 2062193, Bug 2062191, Bug 2062186, Bug 2062189 - Wait for the favicon to reach the top sites list in browser_ext_topSites.js, and re-enable the test on linux x11 opt, r=extension-reviewers,rpl.\" for causing bc failures @browser_ext_url_overrides_newtab.js. IGNORE BAD COMMIT MESSAGES"
    },
    "3d37ae759c9c": {
      "author": "Lando",
      "avatar": "https://www.gravatar.com/avatar/e3fc5c639ea50123800e4b7471f88787?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "# ignore-this-changeset",
      "email": "lando@lando.moz.tools",
      "hash": "3d37ae759c9cacadd12c44b50f20c14b730e0a81",
      "subject": "Bug 2059144: apply code formatting via Lando"
    },
    "5bf08f75b11a": {
      "author": "agoloman",
      "avatar": "https://www.gravatar.com/avatar/cd12c4a70c28dead95af1f72ff892316?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "This reverts commit a6f03e6e5e1a57d34860c229a430572f63579f47.\n\nRevert \"Bug 1975760 - Part 12: Implement the EncryptedRandomAccessStream serialization. r=jari,dom-storage-reviewers,ipc-reviewers,nika\"\n\nThis reverts commit 2370ffcbe260a707a64e67abd181dd064fb215b2.\n\nRevert \"Bug 1975760 - Part 11: Implement the EncryptedRandomAccessStream SetEOF. r=jari,dom-storage-reviewers\"\n\nThis reverts commit 68c18264bfe43b004c6cf883d659f454e5b212d3.\n\nRevert \"Bug 1975760 - Part 10: Refactor ZeroExtendTo to avoid unnecessary block saves. r=jari,dom-storage-reviewers\"\n\nThis reverts commit 49eb43b997d97fc23af7ef75f196554f6d6c703e.\n\nRevert \"Bug 1975760 - Part 9: Refactor EncryptedRandomAccessBlock. r=jari,dom-storage-reviewers\"\n\nThis reverts commit cedd9d8032f969bb89d79fbf572f5f299dc55a7b.",
      "email": "agoloman@mozilla.com",
      "hash": "5bf08f75b11a53613b6b3770fc0461f5a0ae9dd0",
      "subject": "Revert \"Bug 1975760: apply code formatting via Lando\" for causing build bustages @EncryptedRandomAccessStream_impl.h."
    },
    "6698fbc9d0b6": {
      "author": "Serban Stanca",
      "avatar": "https://www.gravatar.com/avatar/977312186062f329a7e4302ab972ae7b?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "This reverts commit cc8d856a0b5d433d01c6fd54f9664eff8e7ec4f8.",
      "email": "sstanca@mozilla.com",
      "hash": "6698fbc9d0b6dc800a3cf7458c8ad4756b387ec9",
      "subject": "Revert \"Bug 2056131 - Always prefer GLES over GL on Linux r=gfx-reviewers,ahale\" for causing gl failures in test_EXT_shader_texture_lod.html."
    },
    "6fa02c73f2ba": {
      "author": "rperta",
      "avatar": "https://www.gravatar.com/avatar/95787d55656c719bd5b0c6754f5449a3?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "This reverts commit a6b87ed4de61cedbe473347b6bdd8208d77e24c0.",
      "email": "rperta@mozilla.com",
      "hash": "6fa02c73f2bad2398dfb4691c6680315b3b14f60",
      "subject": "Revert \"Bug 2063194 - Force eslint prefer-const on Policies.sys.mjs r=mkaply,jneuberger\" for causing lint failrues"
    },
    "7dc9a4c9a53f": {
      "author": "agoloman",
      "avatar": "https://www.gravatar.com/avatar/cd12c4a70c28dead95af1f72ff892316?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "This reverts commit 1118cb51cd3c48957c6bfa48652a7ca536d795b9.",
      "email": "agoloman@mozilla.com",
      "hash": "7dc9a4c9a53f5a65efc3b24d1e91cc93811cbc4f",
      "subject": "Revert \"Bug 2039602 - Add a setting for the open tabs hover preview to Customize Sidebar r=fluent-reviewers,kcochrane,bolsson\" for causing bc failures @browser_customize_sidebar.js."
    },
    "8e42adb00f0d": {
      "author": "Lando",
      "avatar": "https://www.gravatar.com/avatar/e3fc5c639ea50123800e4b7471f88787?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "# ignore-this-changeset",
      "email": "lando@lando.moz.tools",
      "hash": "8e42adb00f0d301d1b74f71d5f7d49228eb712c9",
      "subject": "Bug 1975760: apply code formatting via Lando"
    },
    "8f96294cf795": {
      "author": "agoloman",
      "avatar": "https://www.gravatar.com/avatar/cd12c4a70c28dead95af1f72ff892316?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "This reverts commit 8d40e71077335d0a955971133d122fba0a3cf12f.",
      "email": "agoloman@mozilla.com",
      "hash": "8f96294cf795b01ce6d66083b8c7d9c881539022",
      "subject": "Revert \"Bug 2055445 - [devtools] Display higher precision width and height in ViewportSize highlighter. r=emilio,devtools-reviewers,layout-reviewers,webidl,ochameau\" git revert bc failures @browser_ImageDocument_svg_zoom.js. IGNORE BAD COMMIT MESSAGES"
    },
    "9009d7cc4e65": {
      "author": "Serban Stanca",
      "avatar": "https://www.gravatar.com/avatar/977312186062f329a7e4302ab972ae7b?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "This reverts commit 8c19ad58a317e4b4fcf8f8a89cab86e82c8769f3.",
      "email": "sstanca@mozilla.com",
      "hash": "9009d7cc4e651259b9ca20e4ed9914a20fb10a45",
      "subject": "Revert \"Bug 2063109 - Remove some more old telemetry probes from Histograms.json and elsewhere: ORB, ForgetSkippable, SessionStore, r=farre,janerik\" for causing python failures."
    },
    "D219394": {
      "author": "Robert Mader",
      "avatar": "https://www.gravatar.com/avatar/5da71984edb570ec3fc1c0fc02f52dfa?d=identicon\u0026s=64",
      "cl": "D219394",
      "clUrl": "https://phabricator.services.mozilla.com/D219394",
      "description": "While both are in maintenance mode, GLES \u003e= 3.1 is the recommended API\n(by leading Mesa devs) for some time now. Performance gaps from the time\nof GLES 2.0 have been solved and a number features - such as native YUV\nsupport in drivers - were never ported to big GL.\n\nMaking GLES the default should thus be a win on pretty much all existing\nhardware. The remaining devices where that's not the case - from the\nGL(ES) 2.x era - already don't get HW accelerated rendering anyway.\n\nNote that for the same reasons a number of big projects have been making\nthe same step lately, including GTK4 and Gstreamer.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D219394",
      "email": "robert.mader@posteo.de",
      "hash": "cc8d856a0b5d433d01c6fd54f9664eff8e7ec4f8",
      "subject": "Bug 2056131 - Always prefer GLES over GL on Linux r=gfx-reviewers,ahale"
    },
    "D278328": {
      "author": "Duncan McIntosh",
      "avatar": "https://www.gravatar.com/avatar/8d2a45b83e51be8dece9ba489225014e?d=identicon\u0026s=64",
      "cl": "D278328",
      "clUrl": "https://phabricator.services.mozilla.com/D278328",
      "description": "I think the longer-term goal should be to never call the post-updater\nwith 'currentuser' in the first place---it only runs for the user who\nhappens to start the update, which means that it won't run much in\nenterprise scenarios or on some multi-user machines. I think logic\nrunning at startup in the application itself (maybe written in\nJavaScript) is the way to go for per-user changes.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D278328",
      "email": "dmcintosh@mozilla.com",
      "hash": "6ea673c21267916e806766659fd4de50c3c711f6",
      "subject": "Bug 2030812 - Part 1: Indicate to the post-updater whether it is running for one user or the whole installation. r=browser-installer-reviewers,application-update-reviewers,nrishel,aborondo"
    },
    "D290711": {
      "author": "Chun-Min Chang",
      "avatar": "https://www.gravatar.com/avatar/8092c68fbfa26b5e17e2265e612bd1c3?d=identicon\u0026s=64",
      "cl": "D290711",
      "clUrl": "https://phabricator.services.mozilla.com/D290711",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D290711",
      "email": "chun.m.chang@gmail.com",
      "hash": "829c2da8adc0e2d1e7794bccf112653e82e56138",
      "subject": "Bug 2022604 - Add gtest for VideoFrame.copyTo() RGB stride handling. r=media-playback-reviewers,padenot"
    },
    "D290712": {
      "author": "Chun-Min Chang",
      "avatar": "https://www.gravatar.com/avatar/8092c68fbfa26b5e17e2265e612bd1c3?d=identicon\u0026s=64",
      "cl": "D290712",
      "clUrl": "https://phabricator.services.mozilla.com/D290712",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D290712",
      "email": "chun.m.chang@gmail.com",
      "hash": "cf68db9f1859dd93d425cf32da92b6724238fd1e",
      "subject": "Bug 2025883 - Add gtest for VideoFrame.copyTo() YUV stride handling. r=media-playback-reviewers,padenot"
    },
    "D290713": {
      "author": "Chun-Min Chang",
      "avatar": "https://www.gravatar.com/avatar/8092c68fbfa26b5e17e2265e612bd1c3?d=identicon\u0026s=64",
      "cl": "D290713",
      "clUrl": "https://phabricator.services.mozilla.com/D290713",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D290713",
      "email": "chun.m.chang@gmail.com",
      "hash": "43d50db6f225428afcf08f0c5986f2291ec4eeeb",
      "subject": "Bug 2025883 - Add tests for AudioData interleaved-to-interleaved frame offset. r=media-playback-reviewers,padenot"
    },
    "D290714": {
      "author": "Chun-Min Chang",
      "avatar": "https://www.gravatar.com/avatar/8092c68fbfa26b5e17e2265e612bd1c3?d=identicon\u0026s=64",
      "cl": "D290714",
      "clUrl": "https://phabricator.services.mozilla.com/D290714",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D290714",
      "email": "chun.m.chang@gmail.com",
      "hash": "ae8ba69544997405a80ab4ef9053cc02f330dabc",
      "subject": "Bug 2025883 - Add tests for AudioData planar-to-interleaved frame offset. r=media-playback-reviewers,padenot"
    },
    "D291010": {
      "author": "Chun-Min Chang",
      "avatar": "https://www.gravatar.com/avatar/8092c68fbfa26b5e17e2265e612bd1c3?d=identicon\u0026s=64",
      "cl": "D291010",
      "clUrl": "https://phabricator.services.mozilla.com/D291010",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D291010",
      "email": "chun.m.chang@gmail.com",
      "hash": "6a4eff5ff8525d02c0fe292a1dd51962fed3ded7",
      "subject": "Bug 2022604 - Add WPT for VideoFrame.copyTo() canvas-backed RGB stride handling. r=media-playback-reviewers,padenot"
    },
    "D293636": {
      "author": "Chun-Min Chang",
      "avatar": "https://www.gravatar.com/avatar/8092c68fbfa26b5e17e2265e612bd1c3?d=identicon\u0026s=64",
      "cl": "D293636",
      "clUrl": "https://phabricator.services.mozilla.com/D293636",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D293636",
      "email": "chun.m.chang@gmail.com",
      "hash": "ce97a78b9dd993a33205495bcd058ddc179db1c4",
      "subject": "Bug 2025883 - Add WPT for AudioData.copyTo() with oversized planar buffers. r=jolin"
    },
    "D295084": {
      "author": "Duncan McIntosh",
      "avatar": "https://www.gravatar.com/avatar/8d2a45b83e51be8dece9ba489225014e?d=identicon\u0026s=64",
      "cl": "D295084",
      "clUrl": "https://phabricator.services.mozilla.com/D295084",
      "description": "Later commits in the stack will move functionality that's currently in\nPostUpdateInstallation into other functions.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D295084",
      "email": "dmcintosh@mozilla.com",
      "hash": "85e71f455cd29c93331e2a47597f3e78a3d04c41",
      "subject": "Bug 2030812 - Part 2: Call a different post-update function depending on /PostUpdateTarget. r=browser-installer-reviewers,aborondo"
    },
    "D295085": {
      "author": "Duncan McIntosh",
      "avatar": "https://www.gravatar.com/avatar/8d2a45b83e51be8dece9ba489225014e?d=identicon\u0026s=64",
      "cl": "D295085",
      "clUrl": "https://phabricator.services.mozilla.com/D295085",
      "description": "For shortcut updating, this will do it twice for non-elevated\ninstallations, but (a) that shouldn't matter much, and (b) it will no\nlonger 'clean up' the system account's files.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D295085",
      "email": "dmcintosh@mozilla.com",
      "hash": "9aab4da505a659d963b086c4a424e1cb3270c97b",
      "subject": "Bug 2030812 - Part 5: Reorganize shortcut updating and related post-update tasks. r=browser-installer-reviewers,aborondo"
    },
    "D295086": {
      "author": "Duncan McIntosh",
      "avatar": "https://www.gravatar.com/avatar/8d2a45b83e51be8dece9ba489225014e?d=identicon\u0026s=64",
      "cl": "D295086",
      "clUrl": "https://phabricator.services.mozilla.com/D295086",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D295086",
      "email": "dmcintosh@mozilla.com",
      "hash": "00a83348c97b0d97feb033529c85555c6eae5594",
      "subject": "Bug 2030812 - Part 6: Copy remaining PostUpdateInstallation contents into PostUpdateCurrentUser. r=browser-installer-reviewers,aborondo"
    },
    "D295157": {
      "author": "Tim Elliott",
      "avatar": "https://www.gravatar.com/avatar/bc02944e07977061e9ffe0a8f4eda3d5?d=identicon\u0026s=64",
      "cl": "D295157",
      "clUrl": "https://phabricator.services.mozilla.com/D295157",
      "description": "When a JPEG is being decoded to a significantly smaller output size, ask\nlibjpeg-turbo to produce a 1/2, 1/4, or 1/8 scaled intermediate via its IDCT\nscaling rather than decoding at full resolution and discarding most of the\ndata in the downscaling filter. The SurfacePipe is fed the scaled dimensions\nand Lanczos3 finishes the job.\n\nRestricted to images whose dimensions are a whole number of MCUs; otherwise\npadding in the trailing MCU row/column can smear into visible pixels at\nreduced scales (crbug.com/890745, libjpeg-turbo issue 297).\n\nGated by image.jpeg.dct-scaling.enabled (default off) with\nimage.jpeg.dct-scaling.min-factor controlling how much downscaling to leave\nfor Lanczos (default 2.5x).\n\nAdds DownscaleDctOn/DownscaleDctOff gtest benchmarks.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D295157",
      "email": "tle@holymonkey.com",
      "hash": "4b22885afbab433a257974c3a9569f9257bb24d6",
      "subject": "Bug 2033250 - Use libjpeg-turbo IDCT scaling to reduce JPEG decode cost when downscaling. r=gfx-reviewers,tnikkel"
    },
    "D300080": {
      "author": "Emma Zuehlcke",
      "avatar": "https://www.gravatar.com/avatar/46f58cc04758e80835820f0f1d5646bb?d=identicon\u0026s=64",
      "cl": "D300080",
      "clUrl": "https://phabricator.services.mozilla.com/D300080",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D300080",
      "email": "emz@mozilla.com",
      "hash": "55e784d4a4aea6ad8cde651510ada4546fae7db6",
      "subject": "Bug 2033039 - Update PBM app icons for nova. r=hsohaney"
    },
    "D309462": {
      "author": "Duncan McIntosh",
      "avatar": "https://www.gravatar.com/avatar/8d2a45b83e51be8dece9ba489225014e?d=identicon\u0026s=64",
      "cl": "D309462",
      "clUrl": "https://phabricator.services.mozilla.com/D309462",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D309462",
      "email": "dmcintosh@mozilla.com",
      "hash": "7163533b46bc90d8e4af7ca61a3bb83615d25fa9",
      "subject": "Bug 2030812 - Part 3: Separate some post-update tasks that need HKLM into PostUpdateElevated. r=aborondo,browser-installer-reviewers"
    },
    "D309463": {
      "author": "Duncan McIntosh",
      "avatar": "https://www.gravatar.com/avatar/8d2a45b83e51be8dece9ba489225014e?d=identicon\u0026s=64",
      "cl": "D309463",
      "clUrl": "https://phabricator.services.mozilla.com/D309463",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D309463",
      "email": "dmcintosh@mozilla.com",
      "hash": "d75ebf41e678167b0d3485314734bbb2be7f681f",
      "subject": "Bug 2030812 - Part 4: Extract some post-update tasks that need HKCU into PostUpdateNonElevated. r=aborondo,browser-installer-reviewers"
    },
    "D309591": {
      "author": "Bas Schouten",
      "avatar": "https://www.gravatar.com/avatar/4e1eac71203d85974b94be13ce5ba794?d=identicon\u0026s=64",
      "cl": "D309591",
      "clUrl": "https://phabricator.services.mozilla.com/D309591",
      "description": "This moves the precision reduction code into a place more appropriate for non-LCP users.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D309591",
      "email": "bschouten@mozilla.com",
      "hash": "4a5e27625b3b6672b67bf2edc8a5bac62ef359d2",
      "subject": "Bug 1940240 - Part 1: Centralize reduced-precision timestamp conversion on Performance. r=canova"
    },
    "D309592": {
      "author": "Bas Schouten",
      "avatar": "https://www.gravatar.com/avatar/4e1eac71203d85974b94be13ce5ba794?d=identicon\u0026s=64",
      "cl": "D309592",
      "clUrl": "https://phabricator.services.mozilla.com/D309592",
      "description": "BaseRect::Area(), BaseRectAbsolute::Area() and nsRegion::Area() multiplied width by height in 32-bit arithmetic, which overflows for large integer rects (well below screen-area sizes once expressed in app units). Widen to 64-bit before multiplying for integer coordinate types.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D309592",
      "email": "bschouten@mozilla.com",
      "hash": "fa8c1a618efef05ea8af36545df18fe4b6b84758",
      "subject": "Bug 1940240 - Part 2: Compute rect and region areas in 64-bit to avoid overflow. r=gfx-reviewers,bradwerth,lsalzman"
    },
    "D309593": {
      "author": "Bas Schouten",
      "avatar": "https://www.gravatar.com/avatar/4e1eac71203d85974b94be13ce5ba794?d=identicon\u0026s=64",
      "cl": "D309593",
      "clUrl": "https://phabricator.services.mozilla.com/D309593",
      "description": "Adds the PerformanceContainerTiming interface and the processing model from the spec on PerformanceMainThread. Each element caches its nearest containertiming ancestor, so resolving an element's container roots at paint time is O(1).\n\nDifferential Revision: https://phabricator.services.mozilla.com/D309593",
      "email": "bschouten@mozilla.com",
      "hash": "ee7499308379d8f9ddfda9f261820dc5f5f0e491",
      "subject": "Bug 1940240 - Part 3: Implement the Container Timing API behind a pref. r=smaug,webidl,saschanaz"
    },
    "D309594": {
      "author": "Bas Schouten",
      "avatar": "https://www.gravatar.com/avatar/4e1eac71203d85974b94be13ce5ba794?d=identicon\u0026s=64",
      "cl": "D309594",
      "clUrl": "https://phabricator.services.mozilla.com/D309594",
      "description": "Calls into ContainerTimingHelpers when images, backgrounds, text, canvas and video paint, and finalizes the accumulated entries at the end of each paint.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D309594",
      "email": "bschouten@mozilla.com",
      "hash": "a7e51be85879af949b892f7da4e49c833725475c",
      "subject": "Bug 1940240 - Part 4: Record container-timing paints from the layout paint pipeline. r=layout-reviewers,emilio"
    },
    "D309595": {
      "author": "Bas Schouten",
      "avatar": "https://www.gravatar.com/avatar/4e1eac71203d85974b94be13ce5ba794?d=identicon\u0026s=64",
      "cl": "D309595",
      "clUrl": "https://phabricator.services.mozilla.com/D309595",
      "description": "Enables the dom.enable_container_timing pref for the upstream container-timing WPTs and adds Gecko tests for a number of scenarios and canvas/video containers.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D309595",
      "email": "bschouten@mozilla.com",
      "hash": "5255804b60861944ab26c4e0ace3d221c311d74e",
      "subject": "Bug 1940240 - Part 5: Enable container-timing web platform tests. r=canova"
    },
    "D310186": {
      "author": "canalun",
      "avatar": "https://www.gravatar.com/avatar/ec346a3c1f6f34eb6e81ba7af9cb0b45?d=identicon\u0026s=64",
      "cl": "D310186",
      "clUrl": "https://phabricator.services.mozilla.com/D310186",
      "description": "This is a behavior-preserving refactor. Firstly, this removes\n`AssignFromBytes`, which is used only in a test and actually not\nnecessary. Secondly, this replaces `memcpy` into `mozilla::LittleEndian::*`.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D310186",
      "email": "i.am.kanaru.sato@gmail.com",
      "hash": "cedd9d8032f969bb89d79fbf572f5f299dc55a7b",
      "subject": "Bug 1975760 - Part 9: Refactor EncryptedRandomAccessBlock. r=jari,dom-storage-reviewers"
    },
    "D310187": {
      "author": "canalun",
      "avatar": "https://www.gravatar.com/avatar/ec346a3c1f6f34eb6e81ba7af9cb0b45?d=identicon\u0026s=64",
      "cl": "D310187",
      "clUrl": "https://phabricator.services.mozilla.com/D310187",
      "description": "This is a behavior-preserving refactor. \"Behavior-preserving\" here is from\nthe perspective of the whole codebase: the stream's observable behavior and\nthe resulting on-disk data are unchanged. Internally it removes one redundant\nwrite to the base stream, as described below.\n\n|ZeroExtendTo| already has a branch that saves the dirty current block, yet\nthe caller still had to save it beforehand. This was because the last block\nindex was computed as |mTotalBlockCount - 1|, and a not-yet-persisted\nappended block is not counted in |mTotalBlockCount|; without the caller's\nsave, that index would point at the wrong block.\n\nSo stop relying on |mTotalBlockCount| here and derive the last block index\nfrom |mLogicalSize|, which reflects the appended block whether or not it has\nbeen saved.\n\nThis lets the current block be saved only when it is actually needed. In\nparticular, when the last block was already the loaded current block it was\nsaved once during setup and then again after the fill; now it is extended in\nplace and written only once.\n\nThis patch also adds a comment and an assertion mentioning that the last block\nis not saved at the end of the method.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D310187",
      "email": "i.am.kanaru.sato@gmail.com",
      "hash": "49eb43b997d97fc23af7ef75f196554f6d6c703e",
      "subject": "Bug 1975760 - Part 10: Refactor ZeroExtendTo to avoid unnecessary block saves. r=jari,dom-storage-reviewers"
    },
    "D310188": {
      "author": "canalun",
      "avatar": "https://www.gravatar.com/avatar/ec346a3c1f6f34eb6e81ba7af9cb0b45?d=identicon\u0026s=64",
      "cl": "D310188",
      "clUrl": "https://phabricator.services.mozilla.com/D310188",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D310188",
      "email": "i.am.kanaru.sato@gmail.com",
      "hash": "68c18264bfe43b004c6cf883d659f454e5b212d3",
      "subject": "Bug 1975760 - Part 11: Implement the EncryptedRandomAccessStream SetEOF. r=jari,dom-storage-reviewers"
    },
    "D310747": {
      "author": "canalun",
      "avatar": "https://www.gravatar.com/avatar/ec346a3c1f6f34eb6e81ba7af9cb0b45?d=identicon\u0026s=64",
      "cl": "D310747",
      "clUrl": "https://phabricator.services.mozilla.com/D310747",
      "description": "This wires EncryptedRandomAccessStream into the IPC serialization path. It adds\nEncryptedRandomAccessStreamParams to the RandomAccessStreamParams union and adds\nthe corresponding serialization and deserialization handling.\n\nSerialization is performed by an override of the instance Serialize() method,\nso that the stream can be used as a drop-in replacement for the cleartext random\naccess stream. The method saves the current block, serializes the base stream and\nthe master key, and then closes itself. Serialization cannot fail, so a failure\nto save the current block is expressed as parameters that the receiving side rejects.\nNote that the logical position is not part of the parameters, so a deserialized\nstream starts at zero.\n\nDeserialization similarly goes through the static CreateFromParams() factory instead\nof the usual instance Deserialize() method.\nDeserializeRandomAccessStream normally default-constructs an empty stream and then\nrestores its members from the serialized parameters by calling Deserialize().\nEncryptedRandomAccessStream does not fit that pattern.\nThe stream is intentionally constructed through Create() because construction validates\nthe backing data. In particular, it reads and validates the final block to determine\nthe logical size. As a result, a valid base stream and master key must already be\navailable when the object is constructed.\nDefault-constructing an empty object and restoring those members afterward would\nviolate these invariants and lead to an awkward design.\nInstead, CreateFromParams() deserializes the base stream and master key, then passes\nthem to Create(). DeserializeRandomAccessStream calls this factory directly. The\ninstance Deserialize() method remains unreachable.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D310747",
      "email": "i.am.kanaru.sato@gmail.com",
      "hash": "2370ffcbe260a707a64e67abd181dd064fb215b2",
      "subject": "Bug 1975760 - Part 12: Implement the EncryptedRandomAccessStream serialization. r=jari,dom-storage-reviewers,ipc-reviewers,nika"
    },
    "D311064": {
      "author": "serge-sans-paille",
      "avatar": "https://www.gravatar.com/avatar/9cdfdfc05249440f57269a0d26487253?d=identicon\u0026s=64",
      "cl": "D311064",
      "clUrl": "https://phabricator.services.mozilla.com/D311064",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D311064",
      "email": "sguelton@mozilla.com",
      "hash": "4e895c558fac73a75900ce01f1951c02b0158830",
      "subject": "Bug 2053404 - Cleanup default state for static-analysis on Windows / chrome part r=emilio"
    },
    "D311065": {
      "author": "serge-sans-paille",
      "avatar": "https://www.gravatar.com/avatar/9cdfdfc05249440f57269a0d26487253?d=identicon\u0026s=64",
      "cl": "D311065",
      "clUrl": "https://phabricator.services.mozilla.com/D311065",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D311065",
      "email": "sguelton@mozilla.com",
      "hash": "8d26413b2a76b285d5aa46cf7694a9732ba79e79",
      "subject": "Bug 2053404 - Cleanup default state for static-analysis on Windows / browser part r=emilio"
    },
    "D311066": {
      "author": "serge-sans-paille",
      "avatar": "https://www.gravatar.com/avatar/9cdfdfc05249440f57269a0d26487253?d=identicon\u0026s=64",
      "cl": "D311066",
      "clUrl": "https://phabricator.services.mozilla.com/D311066",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D311066",
      "email": "sguelton@mozilla.com",
      "hash": "39fba6dc61560de9296ea2e77fc9f58031d80eff",
      "subject": "Bug 2053404 - Cleanup default state for static-analysis on Windows / docshell part r=emilio"
    },
    "D312155": {
      "author": "Duncan McIntosh",
      "avatar": "https://www.gravatar.com/avatar/8d2a45b83e51be8dece9ba489225014e?d=identicon\u0026s=64",
      "cl": "D312155",
      "clUrl": "https://phabricator.services.mozilla.com/D312155",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D312155",
      "email": "dmcintosh@mozilla.com",
      "hash": "df62a01d0f85ad627794d28d04476f658955c2b0",
      "subject": "Bug 2030812 - Pre 1: Add desktop_launcher_helpers.nsh to TEST_STUB_INSTALLER_DEPS. r=aborondo,browser-installer-reviewers"
    },
    "D312188": {
      "author": "Daisuke Akatsuka",
      "avatar": "https://www.gravatar.com/avatar/127a88c71c6a64f7301cb57442bb7372?d=identicon\u0026s=64",
      "cl": "D312188",
      "clUrl": "https://phabricator.services.mozilla.com/D312188",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D312188",
      "email": "daisuke.akatsuka@birchill.co.jp",
      "hash": "3c9c608b87caee542e4466e6a0a8fd6062a93111",
      "subject": "Bug 2046646 - Apply high contrast syle to result menu and switcher for Nova r=desktop-theme-reviewers,dao"
    },
    "D312547": {
      "author": "kpatenio",
      "avatar": "https://www.gravatar.com/avatar/3ba00bb99f41523d041bb1e150ee7de4?d=identicon\u0026s=64",
      "cl": "D312547",
      "clUrl": "https://phabricator.services.mozilla.com/D312547",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D312547",
      "email": "kpatenio@mozilla.com",
      "hash": "de748443cf8cce51437ed632ea5a62892f867d54",
      "subject": "Bug 2038951 — hide splitview container elements containing hidden tabs r=tabbrowser-reviewers,sclements"
    },
    "D312985": {
      "author": "Andrea Marchesini",
      "avatar": "https://www.gravatar.com/avatar/dfb8d0427dd67216b2664131a5c31421?d=identicon\u0026s=64",
      "cl": "D312985",
      "clUrl": "https://phabricator.services.mozilla.com/D312985",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D312985",
      "email": "amarchesini@mozilla.com",
      "hash": "9f6ca24184e2b2b90e37f61b85844afdf91f4cf5",
      "subject": "Bug 2056232 - Do not expose IP Protection feature if not fully translated r=sstreich,ip-protection-reviewers,bolsson,firefox-desktop-core-reviewers ,mossop"
    },
    "D313443": {
      "author": "Jamie Nicol",
      "avatar": "https://www.gravatar.com/avatar/8dd660b6c636b9880700591432e5eb21?d=identicon\u0026s=64",
      "cl": "D313443",
      "clUrl": "https://phabricator.services.mozilla.com/D313443",
      "description": "Still passing target_os = \"mac\" to `gn gen` for the iOS configurations\nelse it will fail, but this allows different options to be set for macOS\nand iOS respectively.\n\nIn particular, this allows ANGLE to build different targets with\ndifferent enabled backends for macOS and iOS.\n\nIn addition to the `CONFIG[\"OS_TARGET\"] == \"Darwin\"` conditions emitted\nin the generated moz.build files, `CONFIG[\"TARGET_OS\"] == \"OSX\"` and\n`CONFIG[\"TARGET_OS\"] == \"iOS\"` conditions are emitted where appropriate.\n\nThis allows us to remove the hack in gfx/angle/moz.yaml we previously\nused to ensure ANGLE's libEGL and libGLESv2 targets weren't built for\niOS.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D313443",
      "email": "jnicol@mozilla.com",
      "hash": "915a45750cd3afcb27f2afb518be3351162ca0f8",
      "subject": "Bug 2056873 - gn_processor.py: generate separate configs for macOS and iOS. r=glandium"
    },
    "D313482": {
      "author": "iain holmes",
      "avatar": "https://www.gravatar.com/avatar/0fbfa48ae93f2eded6d6ef095ea9211d?d=identicon\u0026s=64",
      "cl": "D313482",
      "clUrl": "https://phabricator.services.mozilla.com/D313482",
      "description": "Implement a macOS interface for adding Login Items (aka LaunchOnLogin) and make a wrapper for LaunchOnLogin that calls the correct OS version.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D313482",
      "email": "iholmes@mozilla.com",
      "hash": "aa211bf945ad0aa32f3408586c33dd0f704733bd",
      "subject": "Bug 2053447 - Part 1: Create a LaunchOnLogin interface for macOS. r=hsohaney"
    },
    "D313483": {
      "author": "iain holmes",
      "avatar": "https://www.gravatar.com/avatar/0fbfa48ae93f2eded6d6ef095ea9211d?d=identicon\u0026s=64",
      "cl": "D313483",
      "clUrl": "https://phabricator.services.mozilla.com/D313483",
      "description": "Port the WindowsDefaultLaunchOnLogin to use the new generic LaunchOnLogin interface\n\nDifferential Revision: https://phabricator.services.mozilla.com/D313483",
      "email": "iholmes@mozilla.com",
      "hash": "e0da50d116b24ddc269d8c49abb7fdd8a1ac2dd5",
      "subject": "Bug 2053447: Part 2 - Port the existing LaunchOnLogin code.r=hsohaney"
    },
    "D313484": {
      "author": "iain holmes",
      "avatar": "https://www.gravatar.com/avatar/0fbfa48ae93f2eded6d6ef095ea9211d?d=identicon\u0026s=64",
      "cl": "D313484",
      "clUrl": "https://phabricator.services.mozilla.com/D313484",
      "description": "Use the new LaunchOnLogin API to determine if LoL is supported and call the correct OS implementation\n\nDifferential Revision: https://phabricator.services.mozilla.com/D313484",
      "email": "iholmes@mozilla.com",
      "hash": "1c0bed179ddbf061c7376e921fe1ce34c5b269a5",
      "subject": "Bug 2053447: Part 3 - Update Launch on Login pref to use new API.r=tgiles"
    },
    "D313485": {
      "author": "iain holmes",
      "avatar": "https://www.gravatar.com/avatar/0fbfa48ae93f2eded6d6ef095ea9211d?d=identicon\u0026s=64",
      "cl": "D313485",
      "clUrl": "https://phabricator.services.mozilla.com/D313485",
      "description": "Port ASRouter and telemetry code to new LaunchOnLogin API\n\nDifferential Revision: https://phabricator.services.mozilla.com/D313485",
      "email": "iholmes@mozilla.com",
      "hash": "6ec82897da0e79cfcdb5bf348c0f7f6b0768c3f5",
      "subject": "Bug 2053447: Part 4 - Update rest of LaunchOnLogin code to use new API.r=omc-reviewers,firefox-desktop-core-reviewers ,aminomancer"
    },
    "D313683": {
      "author": "Jari Jalkanen",
      "avatar": "https://www.gravatar.com/avatar/03d9bb7f2c35556bb76026e5661fb118?d=identicon\u0026s=64",
      "cl": "D313683",
      "clUrl": "https://phabricator.services.mozilla.com/D313683",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D313683",
      "email": "jjjalkanen@gmail.com",
      "hash": "5d075d72c56917894fb16d0d7d5d8affdc10bba7",
      "subject": "Bug 2056559: Use corruption error when cache fails during quota initialization. r=dom-storage-reviewers,dom-worker-reviewers,hsingh,edenchuang"
    },
    "D313892": {
      "author": "Duncan McIntosh",
      "avatar": "https://www.gravatar.com/avatar/8d2a45b83e51be8dece9ba489225014e?d=identicon\u0026s=64",
      "cl": "D313892",
      "clUrl": "https://phabricator.services.mozilla.com/D313892",
      "description": "Additionally, adds infrastructure to let this be mocked out more easily.\n\nThe upcoming marPostUpdateTarget.js tests the enterprise case.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D313892",
      "email": "dmcintosh@mozilla.com",
      "hash": "b4e598adad8db5eaebd864e375845805206d9f92",
      "subject": "Bug 2030812 - Pre 2: Check that the /DesktopLauncher argument is provided on non-enterprise installations. r=aborondo,browser-installer-reviewers,application-update-reviewers"
    },
    "D313893": {
      "author": "Duncan McIntosh",
      "avatar": "https://www.gravatar.com/avatar/8d2a45b83e51be8dece9ba489225014e?d=identicon\u0026s=64",
      "cl": "D313893",
      "clUrl": "https://phabricator.services.mozilla.com/D313893",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D313893",
      "email": "dmcintosh@mozilla.com",
      "hash": "26ce4044fdff1c15c6f251107bfc33169af9346f",
      "subject": "Bug 2030812 - Post: Update documentation to include new command-line argument usage and explain how to integrate with it. r=aborondo,browser-installer-reviewers,application-update-reviewers"
    },
    "D314642": {
      "author": "Julian Descottes",
      "avatar": "https://www.gravatar.com/avatar/60dd86ccfd9c63b53e9f2a34b2f48442?d=identicon\u0026s=64",
      "cl": "D314642",
      "clUrl": "https://phabricator.services.mozilla.com/D314642",
      "description": "Following the suggestion from @Jamie , adding aria described by and refocusing the input.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D314642",
      "email": "jdescottes@mozilla.com",
      "hash": "2ae5cde5a0c9e870f827246e6c0c3ea3125b7dcd",
      "subject": "Bug 2056332 - [devtools-a11y] announce error message for about:debugging network location input r=Jamie,nchevobbe"
    },
    "D314785": {
      "author": "Rolf Rando",
      "avatar": "https://www.gravatar.com/avatar/cd5950d6cea4249dece18a9b1f5ac0da?d=identicon\u0026s=64",
      "cl": "D314785",
      "clUrl": "https://phabricator.services.mozilla.com/D314785",
      "description": "First patch to enable tool call and template system behind a config.\n\nUnblocks ML Evals and UI/UX template iteration\n\nDifferential Revision: https://phabricator.services.mozilla.com/D314785",
      "email": "rrando@mozilla.com",
      "hash": "18b914c1818605f4136c8ab372a9ea1b07bb7344",
      "subject": "Bug 2058723 - AITab generation code r=Mardak,ai-platform-reviewers,fluent-reviewers,flod,thasan"
    },
    "D314878": {
      "author": "Jan Varga",
      "avatar": "https://www.gravatar.com/avatar/d0903078e50c5ff651923837464991d8?d=identicon\u0026s=64",
      "cl": "D314878",
      "clUrl": "https://phabricator.services.mozilla.com/D314878",
      "description": "Use a slightly larger tolerance for the `CSSSkew.toMatrix()` test to account\nfor precision loss when converting angle values through the style system.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D314878",
      "email": "jvarga@igalia.com",
      "hash": "3e01d0ca6548a1c7c04453eab28c368f98756ea2",
      "subject": "Bug 2057579 - Relax the tolerance for the CSSSkew.toMatrix() WPT; r=firefox-style-system-reviewers,dshin"
    },
    "D314881": {
      "author": "Yannis Juglaret",
      "avatar": "https://www.gravatar.com/avatar/acf03da5e024541e95fd10efea141450?d=identicon\u0026s=64",
      "cl": "D314881",
      "clUrl": "https://phabricator.services.mozilla.com/D314881",
      "description": "This patch improves non-staged updates rollback success rate by trying a\nrename-based strategy when deletion fails. On Windows a file can be locked\nagainst deletion while still being renamable, which is typically the case\nfor a binary that is currently mapped executable by a running program.\nPreviously the locked file was left with its new version contents, leaving\nthe installation in an inconsistent, partially updated state.\n\nThis strategy is already used by backup_discard, so we recycle it into a\nWindows-only remove_on_reboot() helper that moves an undeletable file into\nthe deletion directory and schedules it for removal on the next OS reboot,\nfreeing up the original path so the backup can be restored.\n\nAs a drive-by fix, we ensure that NS_tremove() failures end up with a\nwell-define updater status WRITE_ERROR_DELETE_FILE.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D314881",
      "email": "yjuglaret@mozilla.com",
      "hash": "92cd500ec700ac6f44f08b4e487c42b4ae0b484e",
      "subject": "Bug 2058860 - Defer removal of undeletable files during rollback. r=application-update-reviewers,cdupuis"
    },
    "D314882": {
      "author": "Yannis Juglaret",
      "avatar": "https://www.gravatar.com/avatar/acf03da5e024541e95fd10efea141450?d=identicon\u0026s=64",
      "cl": "D314882",
      "clUrl": "https://phabricator.services.mozilla.com/D314882",
      "description": "Adds marRollbackFileLockedForDeletePartial[Zucchini]_win.js which reproduces\nthe condition addressed by the rollback fix on Windows: a new-version file\nthat is locked against deletion but can still be renamed, as happens with an\nin-use library or running executable.\n\nThe test injects the failure in TEST_UPDATER builds, making ensure_remove\npretend that removing the file named by MOZ_TEST_ENSURE_REMOVE_FAIL failed.\nThe hook sits in ensure_remove rather than in the rollback code so that the\nwhole rename_file fallback gets exercised.\n\nAlso adds checkToBeDeletedFileCount to the test harness. Since relocated files\nare named after a UUID, it returns them so that a test can check which file was\nrelocated, here by comparing contents with the new version of 0/0exe0.exe.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D314882",
      "email": "yjuglaret@mozilla.com",
      "hash": "4a6b09cbec331be69652f08c4c8e0c0873de7488",
      "subject": "Bug 2058860 - Add updater rollback test for a file locked against deletion. r=application-update-reviewers,cdupuis"
    },
    "D315128": {
      "author": "Julian Descottes",
      "avatar": "https://www.gravatar.com/avatar/60dd86ccfd9c63b53e9f2a34b2f48442?d=identicon\u0026s=64",
      "cl": "D315128",
      "clUrl": "https://phabricator.services.mozilla.com/D315128",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D315128",
      "email": "jdescottes@mozilla.com",
      "hash": "ada8083382d40f809684f1dad556034f6ea24f4e",
      "subject": "Bug 2056332 - [devtools-a11y] Update about:debugging Message component to support role=alert r=nchevobbe,devtools-reviewers"
    },
    "D315347": {
      "author": "Kagami Sascha Rosylight",
      "avatar": "https://www.gravatar.com/avatar/9f759e9904275bba9b2d86f5fb12964d?d=identicon\u0026s=64",
      "cl": "D315347",
      "clUrl": "https://phabricator.services.mozilla.com/D315347",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D315347",
      "email": "krosylight@proton.me",
      "hash": "3aafe29acbf70615358b593dfc75552da9771805",
      "subject": "Bug 2059144 - Part 1: Validate principal and scope for push r=asuth,tschuster,nika"
    },
    "D315363": {
      "author": "Yury Delendik",
      "avatar": "https://www.gravatar.com/avatar/f7eb863c56bacae29914b31012ae3674?d=identicon\u0026s=64",
      "cl": "D315363",
      "clUrl": "https://phabricator.services.mozilla.com/D315363",
      "description": "When a promising wasm call fails synchronously, the wrapper converts the\nfailure into a rejected promise. Creating that promise runs NewPromiseObject,\nwhich fires the Debugger onNewPromise hook -- debugger-supplied JS that must\nnot run while an exception is pending (debug builds assert\n!cx-\u003eisExceptionPending()). Lift the exception off the context across promise\ncreation (JS::AutoSaveExceptionState), then reject with it via the existing\nRejectPromiseWithPendingError, which preserves the captured stack.\n\nThe hook is only an allocation-observation hook that cannot alter the promise\nand requires an attached Debugger, so practical risk is low.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D315363",
      "email": "ydelendik@mozilla.com",
      "hash": "0c3db91aa3e94d899acf60c5472b739fc78a48c8",
      "subject": "Bug 2059130 - Save pending exception across promise creation in WasmPromisingFunction. r=jpages"
    },
    "D315509": {
      "author": "Kui-Feng Lee",
      "avatar": "https://www.gravatar.com/avatar/e4ac214dbabf690b7a88e624fcdbaed8?d=identicon\u0026s=64",
      "cl": "D315509",
      "clUrl": "https://phabricator.services.mozilla.com/D315509",
      "description": "gtk_drag_begin_with_coordinates() returns a borrowed context: GtkDragSourceInfo\nholds the only reference, and gtk_drag_source_info_destroy() drops it as soon as\nthe drag-end handler returns. nsWindow::mSourceDragContext was cleared only from\nan async runnable (EndDragSessionMainThread -\u003e EndDragSessionImpl), so between\nGTK's unref and that runnable the pointer dangled, and nsWindow::OnUnmap() calls\ngtk_drag_cancel() on it. Content can land an unmap in that window with a\nwindow.close() task queued before the drag ended.\n\nEndDragSessionImpl keeps its own clear for drags torn down without a drag-end.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D315509",
      "email": "thinker.li@gmail.com",
      "hash": "39b3d67e87f8061fe04f97007e0ef23f50ffc06e",
      "subject": "Bug 2058661 - Clear the drag source window's GdkDragContext pointer synchronously. r=stransky"
    },
    "D315641": {
      "author": "Nicolas Guichard",
      "avatar": "https://www.gravatar.com/avatar/b84ce044c20eb323f7241752bbcef70e?d=identicon\u0026s=64",
      "cl": "D315641",
      "clUrl": "https://phabricator.services.mozilla.com/D315641",
      "description": "This add a new rust-analyzer toolchain which fetches and repacks the\nlatest upstream binary release.\n\nThis is meant to get Emilio's patch so that rust-analyzer uses and\nindexes our vendored crates[1] and to allow updating rust-analyzer more\nfrequently than the complete Rust toolchain.\n\n[1] https://github.com/rust-lang/rust-analyzer/pull/22679\n\nDifferential Revision: https://phabricator.services.mozilla.com/D315641",
      "email": "nicolas.guichard@kdab.com",
      "hash": "226e7115753c29ff7960af406f299aa094e8b13a",
      "subject": "Bug 2051235 - Build Searchfox Rust SCIP index using latest rust-analyzer release. r=glandium"
    },
    "D315779": {
      "author": "Ruhollah Majdoddin",
      "avatar": "https://www.gravatar.com/avatar/36290064a84038428f27ff8cb0e0cd18?d=identicon\u0026s=64",
      "cl": "D315779",
      "clUrl": "https://phabricator.services.mozilla.com/D315779",
      "description": "With browser.tabs.insertRelatedAfterCurrent=false and\nbrowser.tabs.insertAfterCurrent=true, #insertTabAtIndex still read\n#lastRelatedTabMap, so consecutive related tabs chained left to right\nbehind their opener even though the related-tab feature was disabled.\nGate the map's placement use on the pref: a demoted related tab is\nthen placed like any other tab, immediately after its opener\n(bug 1485683 comment 3). Owner bookkeeping is untouched, and behavior\nwith both prefs true is unchanged.\n\nThis pref pair is exactly what browserSettings.newTabPosition\n\"afterCurrent\" sets (ext-browserSettings.js), so the fix also applies\nto extensions using that value. The firefox.js pref comments are\nupdated to match the new semantics.\n\nExtends browser_new_tab_insert_position.js with, per permutation: a\nsecond consecutive related open, owner assertions for both related\ntabs, an unrelated tab interleaved before a third related open (the\ntab switch resets the chain), and consecutive related opens from a\npinned opener.\n\nThis work was done with AI assistance; I have reviewed and can explain\nevery line.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D315779",
      "email": "r.majdodin@gmail.com",
      "hash": "45e5e078f302d33444758993429201550e0509f6",
      "subject": "Bug 1938769 - Don't apply related-tab chaining when insertRelatedAfterCurrent is false. r=dao,tabbrowser-reviewers"
    },
    "D316002": {
      "author": "Arnaud Bienner",
      "avatar": "https://www.gravatar.com/avatar/4ce6cc4210e212c94d690c9c8c5c19bb?d=identicon\u0026s=64",
      "cl": "D316002",
      "clUrl": "https://phabricator.services.mozilla.com/D316002",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D316002",
      "email": "abienner@mozilla.com",
      "hash": "741db9a941f7472bd8e92f5fee20a9fef370a6f7",
      "subject": "Bug 2058982 - Quota manager: check for inconsistencies (underflows, mismatch) when loading an origin and trigger a full rescan if there one. r=dom-storage-reviewers,jari"
    },
    "D316038": {
      "author": "Kagami Sascha Rosylight",
      "avatar": "https://www.gravatar.com/avatar/9f759e9904275bba9b2d86f5fb12964d?d=identicon\u0026s=64",
      "cl": "D316038",
      "clUrl": "https://phabricator.services.mozilla.com/D316038",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D316038",
      "email": "krosylight@proton.me",
      "hash": "f825e0768804d427055b7970abfb314b5884da58",
      "subject": "Bug 2059144 - Part 2: Add ChromeUtils.validateServiceWorkerScope r=asuth,dom-worker-reviewers"
    },
    "D316049": {
      "author": "iain holmes",
      "avatar": "https://www.gravatar.com/avatar/0fbfa48ae93f2eded6d6ef095ea9211d?d=identicon\u0026s=64",
      "cl": "D316049",
      "clUrl": "https://phabricator.services.mozilla.com/D316049",
      "description": "Update to support the DisableLaunchOnLogin enterprise policy\n\nDifferential Revision: https://phabricator.services.mozilla.com/D316049",
      "email": "iholmes@mozilla.com",
      "hash": "f7b5903422837ea876645d1e574f49b8e3a6003b",
      "subject": "Bug 2053447: Part 5 - Update for enterprise policies.r=mkaply"
    },
    "D316060": {
      "author": "Jon Coppeard",
      "avatar": "https://www.gravatar.com/avatar/c9ec760b0d3a20a6775614baa4086871?d=identicon\u0026s=64",
      "cl": "D316060",
      "clUrl": "https://phabricator.services.mozilla.com/D316060",
      "description": "The problem is that our efforts to refine the atom references effectively by\ndelaying marking atoms referenced by uncollected zones until after refining the\natom reference bitmaps means that we throw away refernces to live atoms that\nare only weakly referenced by collecting zones.\n\nThis is the same problem we've fixed several times in the weak map marking\ncode.\n\nThe fix adds a common way to handle marking weakly refereneced atoms and uses\nit in both cases. This allows us to remove two previous attempts to patch up\nthis problem. It is similar to what we do for weak map edges: mark weakly\nreferenced atoms that are referenced by uncollected zones eagarly. Thes means\nthey are marked when we refine the reference bitmaps for collected zones so\nexisting references are preserved and not thrown away.\n\nThe patch does the marking manually since we can be in the sweep state by this\ntime and the marking machinery doesn't allow any more marking.\n\nThis moves updating the reference bitmaps until the end of sweeping so that it\ncan see marking done by tracing weak edges. Deferred gray marking checks are\ndone after this happens.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D316060",
      "email": "jcoppeard@mozilla.com",
      "hash": "1321127afb4d656010b13eb1028f1ec03107678e",
      "subject": "Bug 2057457 - Ensure we don't lose atom references for symbol weak edges r=sfink"
    },
    "D316061": {
      "author": "Jon Coppeard",
      "avatar": "https://www.gravatar.com/avatar/c9ec760b0d3a20a6775614baa4086871?d=identicon\u0026s=64",
      "cl": "D316061",
      "clUrl": "https://phabricator.services.mozilla.com/D316061",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D316061",
      "email": "jcoppeard@mozilla.com",
      "hash": "edbc9bf6222385896e0bb2973aeb568bdc6f5eb6",
      "subject": "Bug 2057457 - Add testcase r=sfink"
    },
    "D316239": {
      "author": "fatadel",
      "avatar": "https://www.gravatar.com/avatar/c0edefdbf070cda026f3c90628df02b8?d=identicon\u0026s=64",
      "cl": "D316239",
      "clUrl": "https://phabricator.services.mozilla.com/D316239",
      "description": "Use named sessions consistently in SKILL.md and all ten walkthroughs, point at the\nnewer entry commands the walkthroughs predate, and fix the guide-reading,\nprofile-source and daemon-cleanup guidance.\n\nIn the font initialization pair, source the sample counts from commands whose\noutput is shown, and stop asserting mutex ownership that sampled stacks cannot\nestablish.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D316239",
      "email": "afatkhutdinov@mozilla.com",
      "hash": "b77a9b0fd0fa7afa5d5caab5d02d644311453200",
      "subject": "Bug 2059026 - Improve session handling and evidence rigor in the profiler-analysis skill. r=canova,ai4dev-reviewers,padenot"
    },
    "D316277": {
      "author": "Zoya",
      "avatar": "https://www.gravatar.com/avatar/7c2351a9e263c6d14ec76c064077720b?d=identicon\u0026s=64",
      "cl": "D316277",
      "clUrl": "https://phabricator.services.mozilla.com/D316277",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D316277",
      "email": "zfatima@mozilla.com",
      "hash": "934f7deaa1ee5cb9ac1157250b935ce7b7c3e104",
      "subject": "Bug 2053949 - Changed tokens to surfaceBright r=android-reviewers,jdelorenzo"
    },
    "D316366": {
      "author": "nirmaladvani",
      "avatar": "https://www.gravatar.com/avatar/a61e6ca34b9dfc93535b51aac017954c?d=identicon\u0026s=64",
      "cl": "D316366",
      "clUrl": "https://phabricator.services.mozilla.com/D316366",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D316366",
      "email": "nirmaladvani@live.com",
      "hash": "48d5ab5d64630e6c0f68a74fa7a555c3efa6838a",
      "subject": "Bug 2059350 - Turn needTracing into a local variable in WebRequest.sys.mjs's addOrRemove. r=robwu"
    },
    "D316452": {
      "author": "Masayuki Nakano",
      "avatar": "https://www.gravatar.com/avatar/900caab146bc7a489b3854cf10acf93f?d=identicon\u0026s=64",
      "cl": "D316452",
      "clUrl": "https://phabricator.services.mozilla.com/D316452",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D316452",
      "email": "masayuki@d-toybox.com",
      "hash": "e423fd5de85f5943696a28ac698fdcb79d9a5f37",
      "subject": "Bug 2060153 - Add the guard to `BrowserParent::RecvSynthesizeNativeMouseMove` r=edgar"
    },
    "D316573": {
      "author": "Emilio Cobos Álvarez",
      "avatar": "https://www.gravatar.com/avatar/1d91d22a4892f16f744b31fd4286144e?d=identicon\u0026s=64",
      "cl": "D316573",
      "clUrl": "https://phabricator.services.mozilla.com/D316573",
      "description": "Masks are generally less efficient and it's trivial to do this.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D316573",
      "email": "emilio@crisal.io",
      "hash": "ff09e36038def6178086bc026edbe135e1575bcc",
      "subject": "Bug 2056929 - Use background rather than mask for tab context line fade. r=baku,desktop-theme-reviewers,mstriemer"
    },
    "D316694": {
      "author": "Paul Bone",
      "avatar": "https://www.gravatar.com/avatar/6afb1f035018b68a34fdcf8325efd208?d=identicon\u0026s=64",
      "cl": "D316694",
      "clUrl": "https://phabricator.services.mozilla.com/D316694",
      "description": "This has been running on release for 6 months, we can remove the old\ncode paths now.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D316694",
      "email": "pbone@mozilla.com",
      "hash": "41d3739808278ad9ed0d50f61f3e848cb61eb7bc",
      "subject": "Bug 2004862 - Remove randomised arena IDs r=glandium"
    },
    "D316761": {
      "author": "Dale Harvey",
      "avatar": "https://www.gravatar.com/avatar/030451d8cfc268d666bae9a7fe8d10ec?d=identicon\u0026s=64",
      "cl": "D316761",
      "clUrl": "https://phabricator.services.mozilla.com/D316761",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D316761",
      "email": "dale@arandomurl.com",
      "hash": "188b60e5a0391fe9e5b1e82e236026e8a0b0d323",
      "subject": "Bug 2057605 - Keep urlbar row highlighted while resultmenu open. r=dao,desktop-theme-reviewers,urlbar-reviewers"
    },
    "D316769": {
      "author": "Valentin Gosu",
      "avatar": "https://www.gravatar.com/avatar/dedff9d4500fcbc5cdd1cd270f044b33?d=identicon\u0026s=64",
      "cl": "D316769",
      "clUrl": "https://phabricator.services.mozilla.com/D316769",
      "description": "Previously the doh providers would only be used after the first\nremote settings update.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D316769",
      "email": "valentin.gosu@gmail.com",
      "hash": "e80c05750e76126daba95fd02b7938dc9a038968",
      "subject": "Bug 2054044 - Vendor static-dumps for doh-config and doh-providers r=necko-reviewers,jesup"
    },
    "D316891": {
      "author": "Dão Gottwald",
      "avatar": "https://www.gravatar.com/avatar/45dfe136efbb8e5f89eb0b21775ab195?d=identicon\u0026s=64",
      "cl": "D316891",
      "clUrl": "https://phabricator.services.mozilla.com/D316891",
      "description": "StatusPanel.update() only takes XULBrowserWindow.status into account while\nbusyUI is true, but nothing updated the panel when busyUI itself changed. On a\ntab switch the switched-to tab's cached status is applied first and busyUI is\nset afterwards, so the status was stored and never shown -- and on a stalled\nload no further status notification arrives to correct that.\n\nFor a load starting in the foreground there is usually no status to show at\nthat point, but a status notification can arrive ahead of the top-level\nSTATE_START, and that status becomes visible too.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D316891",
      "email": "dao@mozilla.com",
      "hash": "3069ffa87390ab070a45f33a85e8ec571ee6c0ba",
      "subject": "Bug 2061443 - Show the network status again when switching back to a still-loading tab. r=tabbrowser-reviewers,jsudiaman"
    },
    "D316903": {
      "author": "Michael Kaply",
      "avatar": "https://www.gravatar.com/avatar/dc84c7d304a23e0a62a86580dd08c587?d=identicon\u0026s=64",
      "cl": "D316903",
      "clUrl": "https://phabricator.services.mozilla.com/D316903",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D316903",
      "email": "mozilla@kaply.com",
      "hash": "6f47fe5e54d380285a641b278fe1b7b3b064ead1",
      "subject": "Bug 1980406 - Add FirefoxHome.Widgets policy for new tab widgets r=jmendez"
    },
    "D317011": {
      "author": "Max Inden",
      "avatar": "https://www.gravatar.com/avatar/ec7202f5ae48eecc36b07aaa371fab12?d=identicon\u0026s=64",
      "cl": "D317011",
      "clUrl": "https://phabricator.services.mozilla.com/D317011",
      "description": "Seed a short-TTL A record by driving one connection through Happy\nEyeballs, let it age into the grace period, then answer the name with a\nworking address. The stale address is raced first and its connection is\nrefused; Happy Eyeballs revalidates with a cache-bypassing lookup, races\nthe address that comes back, and the request succeeds on it.\n\nServing a stale entry also makes the resolver renew it in the\nbackground, and that renewal alone is enough to reach the working\naddress: it updates the shared host record, so a lookup landing after it\nsees the new address, and the test would pass with or without the\nrevalidation. DNS therefore goes through the TRR server, whose answers\ncan be delayed: the revalidated answer is held back until Happy Eyeballs\nhas consumed the stale one and failed to connect to it. TRR_ONLY mode\nkeeps native resolution, which answers 127.0.0.1 for everything in TRR\ntests, out of the picture as well.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D317011",
      "email": "mail@max-inden.de",
      "hash": "ebf212a7c9e95210218881dd97aff9e093dabdfb",
      "subject": "Bug 2060788 - Test that Happy Eyeballs revalidates a stale DNS answer r=necko-reviewers,kershaw"
    },
    "D317012": {
      "author": "Max Inden",
      "avatar": "https://www.gravatar.com/avatar/ec7202f5ae48eecc36b07aaa371fab12?d=identicon\u0026s=64",
      "cl": "D317012",
      "clUrl": "https://phabricator.services.mozilla.com/D317012",
      "description": "Firefox already serves DNS answers from a cache entry's grace period\n(stale-while-revalidate). This teaches Happy Eyeballs to notice when an\nanswer was served stale and race it immediately while revalidating with\na fresh, cache-bypassing lookup, then race the revalidated answer too.\n\n- Expose nsIDNSAddrRecord::fromStaleCache and\n  nsIDNSByTypeRecord::fromStaleCache. The flag is captured at serve time:\n  the resolver sets it true only when it hands back a grace-period cache\n  hit, and false on every fresh resolution. Deriving it after the fact\n  from CheckExpiration == EXP_GRACE would misreport a freshly resolved\n  answer as stale whenever its TTL is short enough to land in the grace\n  window immediately (SetExpiration puts mGraceStart at now + ttl, so a\n  TTL of 0 is born in grace). The flag lives on the shared nsHostRecord\n  base, so AddrHostRecord and TypeHostRecord share it.\n- Plumb happy-eyeballs v0.11.0's stale/allow_stale API through the FFI\n  glue and the C++ driver. Output::SendDnsQuery carries allow_stale;\n  when the state machine revalidates a stale answer (allow_stale=false)\n  the driver adds RESOLVE_BYPASS_CACHE to force a fresh lookup. The stale\n  entry is left in place so concurrent consumers can keep using it while\n  the revalidation is in flight.\n- happy_eyeballs_process_dns_response_{a,aaaa,https} carry the stale flag\n  into Input::DnsResult, so both address and HTTPS/SVCB answers report\n  fromStaleCache and are revalidated when served stale. A cache-bypassing\n  revalidation never takes the cache-hit path, so its answer is always\n  reported fresh, upholding the state machine's invariant that a refresh\n  query is never answered from a stale entry.\n\nThe DNSRecord and IPCTypeRecord IPC structs carry the flag too, sampled\nwhen the lookup completes: the receiving side holds no expiration times of\nits own, so it cannot recompute grace status.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D317012",
      "email": "mail@max-inden.de",
      "hash": "7da51d498b3ff1fb7533f59eae9134bdeb3be833",
      "subject": "Bug 2060788 - Revalidate stale DNS answers in Happy Eyeballs r=necko-reviewers,kershaw"
    },
    "D317089": {
      "author": "Max Inden",
      "avatar": "https://www.gravatar.com/avatar/ec7202f5ae48eecc36b07aaa371fab12?d=identicon\u0026s=64",
      "cl": "D317089",
      "clUrl": "https://phabricator.services.mozilla.com/D317089",
      "description": "The Happy Eyeballs DNS profiler markers now record two facts introduced\nby Optimistic DNS: whether a query was a cache-bypassing revalidation of\na stale answer (allow_stale=false), and whether the answer it received\nwas served from a stale (past-TTL, grace-period) cache entry. This makes\nthe revalidation flow visible when profiling a connection.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D317089",
      "email": "mail@max-inden.de",
      "hash": "c04c1c0003f5a5a6f522570f10afd92c92f20c45",
      "subject": "Bug 2060788 - Surface stale and revalidation state in Happy Eyeballs profiler markers r=necko-reviewers,jesup"
    },
    "D317194": {
      "author": "Elissa Cha",
      "avatar": "https://www.gravatar.com/avatar/3e35b9456250282cae28a20111cf7674?d=identicon\u0026s=64",
      "cl": "D317194",
      "clUrl": "https://phabricator.services.mozilla.com/D317194",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D317194",
      "email": "echa@mozilla.com",
      "hash": "701271da42990b8897d1e41e31779e9785eeef3e",
      "subject": "Bug 2061869 - Start Smart Window schedulers when first-run onboarding completes r=pdahiya,cdipersio"
    },
    "D317205": {
      "author": "Dão Gottwald",
      "avatar": "https://www.gravatar.com/avatar/45dfe136efbb8e5f89eb0b21775ab195?d=identicon\u0026s=64",
      "cl": "D317205",
      "clUrl": "https://phabricator.services.mozilla.com/D317205",
      "description": "Re-expanding a group the drag collapsed hung off one call site, inside the\nmoveTabs closure, so a drop branch that moved nothing never expanded it. That is\nwhat bug 1969163 was, back when moveTabs was skipped for a drop with no\ndropElement. The dragend call that looks like a backstop wasn't one, because it\nkeyed off _dragData, which handle_drop deletes before dragend runs.\n\nThe group now records that a drag collapsed it, which is what the drop side\nactually wants to know, and the expand is hoisted out of moveTabs so every\nbranch reaches it. Since bug 1961577 the same _dragData field also gated the\nrelease of the reserved tab strip space, so that guard moves to the new state\ntoo.\n\nWorth checking that the flag outlives the expand: it is cleared when the tabs\nhave animated back to full size, not when the expand starts, so\n_resetTabsAfterDrop can't release the reservation from under the animation. That\nalso makes a second _expandGroupOnDrop call a no-op instead of a premature\nrelease, which matters because bug 2061864 adds a third caller in its stale\ndrag recovery.\n\nThe new test covers the bug 1969163 scenario, which had none. It passes before\nthis change too -- moveTabs is unconditional today, so there is no live symptom.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D317205",
      "email": "dao@mozilla.com",
      "hash": "68a651b6192a32b9bf90c396b5c442a775013f77",
      "subject": "Bug 2061885 - Expand a dragged tab group from the group's own state. r=sthompson,tabbrowser-reviewers"
    },
    "D317403": {
      "author": "Florian Quèze",
      "avatar": "https://www.gravatar.com/avatar/0ffa237c82d28773736b6c9688b404e3?d=identicon\u0026s=64",
      "cl": "D317403",
      "clUrl": "https://phabricator.services.mozilla.com/D317403",
      "description": "DownloadsPanel.hidePanel() early-returns while _waitingDataForOpen is set and\nnever clears it, so a pending _openPopupIfDataReady reopens the panel. Waiting\nfor popupshown before hiding is the only order that works.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D317403",
      "email": "florian@queze.net",
      "hash": "cf506d44bfde9cef61fdf03cc5f0c5248b4c0206",
      "subject": "Bug 2062145 - Close the downloads panel the tests that trigger a download leave open, r=Gijs,devtools-reviewers."
    },
    "D317410": {
      "author": "Florian Quèze",
      "avatar": "https://www.gravatar.com/avatar/0ffa237c82d28773736b6c9688b404e3?d=identicon\u0026s=64",
      "cl": "D317410",
      "clUrl": "https://phabricator.services.mozilla.com/D317410",
      "description": "The panel is deliberately held open across tasks here, so this closes it from a\ncleanup function rather than where it is opened.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D317410",
      "email": "florian@queze.net",
      "hash": "00bdd371baeb6497e1412e4dd1e05cda69ea9b66",
      "subject": "Bug 2062145 - Close the account panel browser_avatar_menu_signin_cta_variants.js leaves open, r=omc-reviewers,hanna_a."
    },
    "D317423": {
      "author": "Segun Famisa",
      "avatar": "https://www.gravatar.com/avatar/ce9ff32b0db44f5692a673fddca3a516?d=identicon\u0026s=64",
      "cl": "D317423",
      "clUrl": "https://phabricator.services.mozilla.com/D317423",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D317423",
      "email": "sfamisa@mozilla.com",
      "hash": "39e88b3b81794cda342ed5cc63323abdb76d5bd0",
      "subject": "Bug 2053650 - Replace AccountScopeAccessor with the FxaClient / FxaAccount variant r=android-reviewers,jonalmeida"
    },
    "D317425": {
      "author": "Dão Gottwald",
      "avatar": "https://www.gravatar.com/avatar/45dfe136efbb8e5f89eb0b21775ab195?d=identicon\u0026s=64",
      "cl": "D317425",
      "clUrl": "https://phabricator.services.mozilla.com/D317425",
      "description": "The switcher icon keeps deferring, which bug 2057882 covers.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D317425",
      "email": "dao@mozilla.com",
      "hash": "70865c85b6d201320a4a479abe354e5c875b16d7",
      "subject": "Bug 2062164 - Don't defer the urlbar placeholder update when the placeholder names an engine. r=mbeier"
    },
    "D317439": {
      "author": "Andrea Marchesini",
      "avatar": "https://www.gravatar.com/avatar/dfb8d0427dd67216b2664131a5c31421?d=identicon\u0026s=64",
      "cl": "D317439",
      "clUrl": "https://phabricator.services.mozilla.com/D317439",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D317439",
      "email": "amarchesini@mozilla.com",
      "hash": "6aa30069a56f23947adf807137a471ecd64feb10",
      "subject": "Bug 2062099 - \"Add new container\" context menu option does not work from Library window or old sidebar r=places-reviewers,Standard8"
    },
    "D317499": {
      "author": "Jan de Mooij",
      "avatar": "https://www.gravatar.com/avatar/709c5feed942bf99f098bb24aa1cc86f?d=identicon\u0026s=64",
      "cl": "D317499",
      "clUrl": "https://phabricator.services.mozilla.com/D317499",
      "description": "Before this patch, resume indices for yield/await ops were interleaved with resume\nindices for `JSOp::TableSwitch` cases. This patch changes that so the yield/await resume\nindices come first. The table switch resume indices are collected in a separate list\nand appended to the end of the resume-offsets list after bytecode emission.\n\nThe interleaving made it a bit harder to Ion-compile generators. Before I made this\nchange, the `MTableSwitch` we create for generator resume indices could have 'holes'\nfor unrelated `JSOp::TableSwitch` resume indices. It also required a mapping from\n`AfterYield`-index to resume index. With this patch, the i-th suspend op in the script\nhas resume index `i`. This is asserted in `JSScript::assertValidJumpTargets`.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D317499",
      "email": "jdemooij@mozilla.com",
      "hash": "ae7fc3961367ec5e26843fa85bd8d16197317072",
      "subject": "Bug 2062253 part 1 - Give yield and await ops a contiguous range of resume indices. r=iain"
    },
    "D317500": {
      "author": "Jan de Mooij",
      "avatar": "https://www.gravatar.com/avatar/709c5feed942bf99f098bb24aa1cc86f?d=identicon\u0026s=64",
      "cl": "D317500",
      "clUrl": "https://phabricator.services.mozilla.com/D317500",
      "description": "When resuming a generator we want to check for overrecursion but not arbitrary\ninterrupts. This is the equivalent of the Baseline change in bug 2060131 part 4.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D317500",
      "email": "jdemooij@mozilla.com",
      "hash": "a862c3c9fe0dedfafff08ed0236132fb14b2fb3b",
      "subject": "Bug 2062253 part 2 - Let Ion's overrecursion check skip the interrupt check for generator resume. r=iain"
    },
    "D317501": {
      "author": "Jan de Mooij",
      "avatar": "https://www.gravatar.com/avatar/709c5feed942bf99f098bb24aa1cc86f?d=identicon\u0026s=64",
      "cl": "D317501",
      "clUrl": "https://phabricator.services.mozilla.com/D317501",
      "description": "This op is used for for-of loops that can yield, and for explicit resource\nmanagement bytecode.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D317501",
      "email": "jdemooij@mozilla.com",
      "hash": "1adea5810cb30d4f95ad661417e5df084a3e929c",
      "subject": "Bug 2062253 part 3 - Support JSOp::IsGenClosing in WarpBuilder. r=iain"
    },
    "D317502": {
      "author": "Jan de Mooij",
      "avatar": "https://www.gravatar.com/avatar/709c5feed942bf99f098bb24aa1cc86f?d=identicon\u0026s=64",
      "cl": "D317502",
      "clUrl": "https://phabricator.services.mozilla.com/D317502",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D317502",
      "email": "jdemooij@mozilla.com",
      "hash": "c1384beabbff02b990605da0874915f5dd7ee142",
      "subject": "Bug 2062253 part 4 - Add new MIR instructions used for resuming a generator in Ion. r=iain"
    },
    "D317503": {
      "author": "Jan de Mooij",
      "avatar": "https://www.gravatar.com/avatar/709c5feed942bf99f098bb24aa1cc86f?d=identicon\u0026s=64",
      "cl": "D317503",
      "clUrl": "https://phabricator.services.mozilla.com/D317503",
      "description": "If an Ion frame bails out while the `IsResumingGenerator` flag is set, we always\nredo the resume in Baseline. The only effectful instruction on that path is the\n`MSetInitializedLength` to clear the generator stack storage array right before we\nclear the frame descriptor flag, and nothing between these instructions can bail out.\n\n`HandleExceptionIon` pops a mid-resume frame and keeps propagating, like\n`HandleExceptionBaseline` already does, because `JSOp::AfterYield` hasn't restored\nthe expression stack slots and the environment chain is still the suspended generator's.\nOnly resource errors can get there: the overrecursion check in the resume prologue\nand OOM from instructions LICM hoisted into a loop's resume merge block.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D317503",
      "email": "jdemooij@mozilla.com",
      "hash": "868cfe120c2658a29858cf194e677b2e3d6f08f5",
      "subject": "Bug 2062253 part 5 - Redo mid-generator-resume bailouts in Baseline. r=iain"
    },
    "D317504": {
      "author": "Jan de Mooij",
      "avatar": "https://www.gravatar.com/avatar/709c5feed942bf99f098bb24aa1cc86f?d=identicon\u0026s=64",
      "cl": "D317504",
      "clUrl": "https://phabricator.services.mozilla.com/D317504",
      "description": "This adds a stand-alone analysis pass that WarpBuilder will use before MIR building.\nIt builds the dispatch structure for the prologue and for each loop with `AfterYield`\nops. This lets WarpBuilder build MIR in a single pass without having to figure\nout the dispatch structure.\n\nFor a generator like this:\n```js\nfunction* gen() {\n  for (var i = 0; i \u003c 1000; i++) {\n    yield 1;\n    yield 2;\n    for (var j = 0; j \u003c 10; j++) {\n      yield 3;\n    }\n    for (var k = 0; k \u003c 10; k++) {} // no yield =\u003e no dispatch\n  }\n  yield 4;\n}\n```\nthe analysis produces the following data (annotated JIT spew):\n```\nprologue:\n  resumeIndex 0 =\u003e AfterYield @ 11   // after InitialYield\n  resumeIndex 1-3 =\u003e LoopHead @ 24\n  resumeIndex 4 =\u003e AfterYield @ 301\nLoopHead @ 123:                      // inner loop dispatch\n  resumeIndex 3 =\u003e AfterYield @ 174\nLoopHead @ 24:                       // outer loop dispatch\n  resumeIndex 1 =\u003e AfterYield @ 75\n  resumeIndex 2 =\u003e AfterYield @ 110\n  resumeIndex 3-3 =\u003e LoopHead @ 123\n```\n\nDifferential Revision: https://phabricator.services.mozilla.com/D317504",
      "email": "jdemooij@mozilla.com",
      "hash": "4f10a6002a9aa0aeb91bef2671b938ee23d0db81",
      "subject": "Bug 2062253 part 6 - Add a bytecode analysis pass to determine the resume dispatch structure. r=iain"
    },
    "D317505": {
      "author": "Jan de Mooij",
      "avatar": "https://www.gravatar.com/avatar/709c5feed942bf99f098bb24aa1cc86f?d=identicon\u0026s=64",
      "cl": "D317505",
      "clUrl": "https://phabricator.services.mozilla.com/D317505",
      "description": "This uses the analysis added in the previous patch to generate MIR for resuming\na generator or async function directly in Ion. Nothing enters this graph yet\nbecause the resumers still send every resume to Baseline.\n\nA resume dispatch is generated for the prologue and for each loop that contains\nan `AfterYield` op. To resume in the middle of a loop, the resume is routed through\nthe outer loop headers to avoid irreducible control flow. This requires a merge block\nbefore the loop header and then a resume dispatch in the loop header.\n\nThe prologue restores all state except for the expression stack slots. These stack\nslots are restored at the `AfterYield` op when we know the actual stack depth.\n\nThe resume path from the prologue to the `AfterYield` op does not have any effectful\noperations. Like Baseline, the prologue has an overrecursion check but this does not\ninclude the interrupt check on the resume path. Loop interrupt checks are also not\nadded on the resume path because we don't actually loop in this case.\n\nFor an `AfterYield` op with no suspend built, we generate an `UncompiledGeneratorResume`\nbailout to redo the generator resume in Baseline. This is used for example for\na yield or await inside a catch-block.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D317505",
      "email": "jdemooij@mozilla.com",
      "hash": "c89868e80bec63a5a311643fab50a4ea4b267daf",
      "subject": "Bug 2062253 part 7 - Build MIR for the generator/async resume path in WarpBuilder. r=iain"
    },
    "D317506": {
      "author": "Jan de Mooij",
      "avatar": "https://www.gravatar.com/avatar/709c5feed942bf99f098bb24aa1cc86f?d=identicon\u0026s=64",
      "cl": "D317506",
      "clUrl": "https://phabricator.services.mozilla.com/D317506",
      "description": "This changes the resumers to let `Next` resumes enter Ion through `jitCodeRaw`.\nThe `YieldAnalyzer` code is no longer needed.\n\n`Throw` and `Return` still resume in Baseline via `loadJitCodeRawNoIon` because\nIon doesn't really help there and might actually be slower.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D317506",
      "email": "jdemooij@mozilla.com",
      "hash": "5e81b625437dfc2e21a83c46ad2b83b6cbbc4ee7",
      "subject": "Bug 2062253 part 8 - Resume suspended generators and async functions in Ion. r=iain"
    },
    "D317507": {
      "author": "Jan de Mooij",
      "avatar": "https://www.gravatar.com/avatar/709c5feed942bf99f098bb24aa1cc86f?d=identicon\u0026s=64",
      "cl": "D317507",
      "clUrl": "https://phabricator.services.mozilla.com/D317507",
      "description": "`MGeneratorReturn` was a return in the middle of a block. Suspends now terminate\nthe block so we can use a plain `MReturn`.\n\nThis also de-duplicates `LReturn` code.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D317507",
      "email": "jdemooij@mozilla.com",
      "hash": "02588fd152a913a2c7c0e7fba16a2b71bfb3a41b",
      "subject": "Bug 2062253 part 9 - Remove MGeneratorReturn. r=iain"
    },
    "D317508": {
      "author": "Jan de Mooij",
      "avatar": "https://www.gravatar.com/avatar/709c5feed942bf99f098bb24aa1cc86f?d=identicon\u0026s=64",
      "cl": "D317508",
      "clUrl": "https://phabricator.services.mozilla.com/D317508",
      "description": "This adds a collection of jit-tests with `--fast-warmup --no-threads` to make sure\na default jit-test run has decent coverage of Ion-generator-resume edge cases.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D317508",
      "email": "jdemooij@mozilla.com",
      "hash": "06f7ee29c6c7880bf3b952c2d7e399e4026ee1bc",
      "subject": "Bug 2062253 part 10 - Add tests. r=iain"
    },
    "D317509": {
      "author": "Kagami Sascha Rosylight",
      "avatar": "https://www.gravatar.com/avatar/9f759e9904275bba9b2d86f5fb12964d?d=identicon\u0026s=64",
      "cl": "D317509",
      "clUrl": "https://phabricator.services.mozilla.com/D317509",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D317509",
      "email": "krosylight@proton.me",
      "hash": "8e15c85f5e7fca3b6bb4a5079a46fbbf49f25272",
      "subject": "Bug 2059144 - Part 3: Add nsIPrincipal::IsAddonPrincipal r=robwu,asuth,dom-worker-reviewers,ckerschb"
    },
    "D317523": {
      "author": "Florian Quèze",
      "avatar": "https://www.gravatar.com/avatar/0ffa237c82d28773736b6c9688b404e3?d=identicon\u0026s=64",
      "cl": "D317523",
      "clUrl": "https://phabricator.services.mozilla.com/D317523",
      "description": "contextMenus.create() is fire-and-forget in the child, and nothing in extension\nstartup waits for the parent to finish registering the item - which includes\nopening a kvstore. So these tests can open their context menu before the item\nexists, and find it missing.\n\nAwait create()'s completion callback, the handshake browser_ext_contextMenus.js\nalready uses. It is the only one that observes the parent-side registration;\nsending a message after create() would race it just as startup() does.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D317523",
      "email": "florian@queze.net",
      "hash": "e3f81fcb94c16422e2643009af485d88647fdfd8",
      "subject": "Bug 2062189 - Wait for the parent process to register the menu item before opening a context menu in the browserAction, pageAction and sidebarAction contextMenu tests, r=extension-reviewers,rpl."
    },
    "D317524": {
      "author": "Florian Quèze",
      "avatar": "https://www.gravatar.com/avatar/0ffa237c82d28773736b6c9688b404e3?d=identicon\u0026s=64",
      "cl": "D317524",
      "clUrl": "https://phabricator.services.mozilla.com/D317524",
      "description": "An item added to the bookmarks toolbar can be hidden although it fits, because\nthe visibility update applies a count measured before the item existed. A hidden\nitem is not hit-testable, so clicks aimed at it fall through to the toolbar.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D317524",
      "email": "florian@queze.net",
      "hash": "2e9dedda36bcb7c5564fb39420505908b86a359c",
      "subject": "Bug 2015004 - Don't hide bookmarks toolbar items using a stale visible-item count, r=places-reviewers,Standard8."
    },
    "D317525": {
      "author": "Florian Quèze",
      "avatar": "https://www.gravatar.com/avatar/0ffa237c82d28773736b6c9688b404e3?d=identicon\u0026s=64",
      "cl": "D317525",
      "clUrl": "https://phabricator.services.mozilla.com/D317525",
      "description": "The test clicked the doorhanger's Manage button while its New Tab page was still\nloading. openPreferences() does not reuse a loading tab, so about:preferences\nopened in a new one that the test never closed. Wait for the load, and assert\nwhich tab the preferences page lands in.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D317525",
      "email": "florian@queze.net",
      "hash": "c02ebe1d487482c3ddfdffde9be1c46be1ce4f6d",
      "subject": "Bug 2062186 - Fix the intermittent stale about:preferences tab in browser_ext_url_overrides_newtab.js, r=extension-reviewers,rpl."
    },
    "D317526": {
      "author": "Florian Quèze",
      "avatar": "https://www.gravatar.com/avatar/0ffa237c82d28773736b6c9688b404e3?d=identicon\u0026s=64",
      "cl": "D317526",
      "clUrl": "https://phabricator.services.mozilla.com/D317526",
      "description": "The test set media.navigator.permission.fake but not\nmedia.navigator.streams.fake, so its one getUserMedia() call expected to succeed\nwent through the real device path. Only streams.fake bypasses the OS camera and\nmicrophone check, and only macOS implements that check, so the call fails there\nand nowhere else.\n\nRemoving all three mac conditions: this is the macOS permission check, not\nanything version specific.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D317526",
      "email": "florian@queze.net",
      "hash": "f22844d2d7c424875ac74b56d88590f8d489e9f6",
      "subject": "Bug 2062191 - Use fake media streams in browser_ext_webrtc.js and re-enable it on mac, r=extension-reviewers,rpl."
    },
    "D317527": {
      "author": "Florian Quèze",
      "avatar": "https://www.gravatar.com/avatar/0ffa237c82d28773736b6c9688b404e3?d=identicon\u0026s=64",
      "cl": "D317527",
      "clUrl": "https://phabricator.services.mozilla.com/D317527",
      "description": "The test expected an off-screen position to be clamped to exactly (0, 0), which\nonly holds where the available rect starts at the screen origin. It does not on\nmacOS, where that rect excludes the menu bar. Compare against the screen's\navailable origin, read at runtime, instead.\n\nRemoving all three mac conditions: the expectation is no longer written down, so\nit is not version specific.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D317527",
      "email": "florian@queze.net",
      "hash": "36ffcad0ba0cb10d8348d99fbe0095359e03fcf4",
      "subject": "Bug 2062193 - Expect windows.update() to clamp an off-screen position to the screen's available area in browser_ext_windows_size.js, and re-enable the test on mac, r=extension-reviewers,rpl."
    },
    "D317530": {
      "author": "Florian Quèze",
      "avatar": "https://www.gravatar.com/avatar/0ffa237c82d28773736b6c9688b404e3?d=identicon\u0026s=64",
      "cl": "D317530",
      "clUrl": "https://phabricator.services.mozilla.com/D317530",
      "description": "updateTopSites() can be satisfied by a list computed before the favicon was\nadded, since toggling the feed pref does not clear the previous one. The two\ntasks that assert favicons then read that list and see favicon: null. Wait for\nthe favicon too.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D317530",
      "email": "florian@queze.net",
      "hash": "ba2c3a5b0735e67b4fd904a6fd324a9f79c44cf1",
      "subject": "Bug 2030542 - Wait for the favicon to reach the top sites list in browser_ext_topSites.js, and re-enable the test on linux x11 opt, r=extension-reviewers,rpl."
    },
    "D317576": {
      "author": "Yannis Juglaret",
      "avatar": "https://www.gravatar.com/avatar/acf03da5e024541e95fd10efea141450?d=identicon\u0026s=64",
      "cl": "D317576",
      "clUrl": "https://phabricator.services.mozilla.com/D317576",
      "description": "Both AddFile::Execute and PatchFile::Prepare open-code the conversion of the\narchive item path to UTF-8 on Windows before handing it to the archive reader.\nMove that to extract_file and extract_file_to_stream, and let PatchFile write\nthe result of the patch to a destination that its caller selects through\nApplyPatchTo.\n\nThis is a pure refactoring, in preparation for a new phase that writes the new\ncontents of a file somewhere else than its final location.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D317576",
      "email": "yjuglaret@mozilla.com",
      "hash": "c9c3b096ec5d16011fa8acc228cd1d1c1ae66b19",
      "subject": "Bug 2060275 - Factor out updater helpers in preparation for a new update phase. r=application-update-reviewers,cdupuis"
    },
    "D317577": {
      "author": "Yannis Juglaret",
      "avatar": "https://www.gravatar.com/avatar/acf03da5e024541e95fd10efea141450?d=identicon\u0026s=64",
      "cl": "D317577",
      "clUrl": "https://phabricator.services.mozilla.com/D317577",
      "description": "Non-staged updates used to compute the new contents of a file and move it into\nplace in a single Execute step, so a failure partway through the action list\nleft part of the installation already replaced and recovery depended entirely\non restoring backups.\n\nAdd a Draft phase between Prepare and Execute. It writes the contents produced\nby every add and patch action to a .moz-draft file next to the destination,\nwithout replacing any installed file. Execute then only creates the backup and\nrenames the draft into place, so the installation is inconsistent only across a\nseries of renames rather than across decompression and patch application.\nStaged updates write into their own directory during Execute and have nothing\nto do during Draft.\n\nDrafts left behind by a crashed updater are removed before a new one is\nwritten if listed in the update manifest, and Finish discards any draft\nthat was never committed.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D317577",
      "email": "yjuglaret@mozilla.com",
      "hash": "9833a00ed0cdbdb1b4d810b64ceb3af135127bf7",
      "subject": "Bug 2060275 - Split the Execute phase of non-staged updates into Draft and Execute. r=application-update-reviewers,cdupuis"
    },
    "D317578": {
      "author": "Yannis Juglaret",
      "avatar": "https://www.gravatar.com/avatar/acf03da5e024541e95fd10efea141450?d=identicon\u0026s=64",
      "cl": "D317578",
      "clUrl": "https://phabricator.services.mozilla.com/D317578",
      "description": "Add marSuccessPartialStaleDraft.js, which seeds the installation directory with\n.moz-draft files as a crashed updater instance would have left them behind, and\nchecks that a successful update gets rid of them.\n\nAdd marSuccessPartialStaleDraftLockedForDelete{Add,Patch}_win.js, which make the\nremoval of the stale draft fail so that the updater has to move it out of the way\ninstead, once for each of the two callers of draft_discard. Both assert that the\nfile that ended up in the tobedeleted directory is the stale draft, by comparing\nits contents.\n\nAdd marStageSuccessPartialStaleDraft.js, which checks that a staged update never\ncopies a stale draft into the directory that replaces the installation. Staging\nlegitimately leaves the pre-staging installation directory alone, so the test\nremoves the seeded draft from it by hand before the checks that require that no\ntemporary file is left behind there.\n\nAlso make the check for temporary files that every updater binary test performs\nafter an update cover draft files, not just backup files.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D317578",
      "email": "yjuglaret@mozilla.com",
      "hash": "93c6ece3b7b0c2788bf6d99562796c3faa0dcdc5",
      "subject": "Bug 2060275 - Test that the updater removes stale draft files. r=application-update-reviewers,cdupuis"
    },
    "D317718": {
      "author": "Maxx Crawford",
      "avatar": "https://www.gravatar.com/avatar/362d6fa2232df934b7129870b2726186?d=identicon\u0026s=64",
      "cl": "D317718",
      "clUrl": "https://phabricator.services.mozilla.com/D317718",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D317718",
      "email": "mcrawford@mozilla.com",
      "hash": "cfedf983cf3c443b4a7c5679503946366504f8b0",
      "subject": "Bug 2061524 - Add UTM params to privacy widget Monitor and Relay CTAs. r=nina-py"
    },
    "D317742": {
      "author": "Kershaw Chang",
      "avatar": "https://www.gravatar.com/avatar/608e04ebca94be52b05c003d51d43e07?d=identicon\u0026s=64",
      "cl": "D317742",
      "clUrl": "https://phabricator.services.mozilla.com/D317742",
      "description": "A trailer field line whose first byte is NUL would look empty to the\nend-of-trailer check, ending the trailer section early. We would then stop\nreading the body before the server (or a shared proxy) does, and disagree\nwith them about where the response ends.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D317742",
      "email": "kershaw@mozilla.com",
      "hash": "56484cfaf5d5621ed989e743ebfcb7efb33038fe",
      "subject": "Bug 2059199 - Reject NUL bytes in chunked trailer and chunk-size lines r=necko-reviewers,valentin"
    },
    "D317815": {
      "author": "serge-sans-paille",
      "avatar": "https://www.gravatar.com/avatar/9cdfdfc05249440f57269a0d26487253?d=identicon\u0026s=64",
      "cl": "D317815",
      "clUrl": "https://phabricator.services.mozilla.com/D317815",
      "description": "XP_ANDROID does not exist in the first place. Android systems live under\nXP_LINUX, with ANDROID also being defined.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D317815",
      "email": "sguelton@mozilla.com",
      "hash": "2fc01b03e60c69de3cf535f8fe80eb3a025ab0a3",
      "subject": "Bug 2062619 - Replace mention of XP_ANDROID define by ANDROID r=tjr"
    },
    "D317816": {
      "author": "lola_t",
      "avatar": "https://www.gravatar.com/avatar/16f9aa018420a403662543ff6812393d?d=identicon\u0026s=64",
      "cl": "D317816",
      "clUrl": "https://phabricator.services.mozilla.com/D317816",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D317816",
      "email": "ltokhtamuradova@mozilla.com",
      "hash": "7f2b54698b6348035244e7af000571560c3a2125",
      "subject": "Bug 1969533 - Fix KDoc for WebCompatReporterRetrievalService r=android-reviewers,moyin"
    },
    "D317822": {
      "author": "Maurice Dauer",
      "avatar": "https://www.gravatar.com/avatar/f70e939f4ec038727a1ef4e9fd6d3667?d=identicon\u0026s=64",
      "cl": "D317822",
      "clUrl": "https://phabricator.services.mozilla.com/D317822",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D317822",
      "email": "mdauer@mozilla.com",
      "hash": "0f7d5fb46d9cfce9af6dd732e4be7ebc80712bc8",
      "subject": "Bug 2061567 - Check return value of nsSimpleURI::Deserialize, r=necko-reviewers,valentin"
    },
    "D317828": {
      "author": "Andrew Halberstadt",
      "avatar": "https://www.gravatar.com/avatar/e560e7861c9f93a235b26565ed5c4010?d=identicon\u0026s=64",
      "cl": "D317828",
      "clUrl": "https://phabricator.services.mozilla.com/D317828",
      "description": "Passing in the head ref can make clone times faster.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D317828",
      "email": "ahal@mozilla.com",
      "hash": "6e6cd49ce4c49067087707d4ae17f553be46e0a0",
      "subject": "Bug 2062637 - Pass in head_git_ref when cloning from Github, r=taskgraph-reviewers,releng-reviewers,bhearsum"
    },
    "D318029": {
      "author": "Jari Jalkanen",
      "avatar": "https://www.gravatar.com/avatar/2b84b1a415615d22d7afc6554020d164?d=identicon\u0026s=64",
      "cl": "D318029",
      "clUrl": "https://phabricator.services.mozilla.com/D318029",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D318029",
      "email": "jjalkanen@mozilla.com",
      "hash": "817f7c8e6c1afbb519f4c8fab4f952ed114b8565",
      "subject": "Bug 2056559: Add telemetry for cache schema init errors. r=dom-storage-reviewers,dom-worker-reviewers,chumphreys,edenchuang"
    },
    "D318056": {
      "author": "Nicolas Chevobbe",
      "avatar": "https://www.gravatar.com/avatar/f942478f2eaeb6cc42142cdd661976a7?d=identicon\u0026s=64",
      "cl": "D318056",
      "clUrl": "https://phabricator.services.mozilla.com/D318056",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D318056",
      "email": "nchevobbe@mozilla.com",
      "hash": "b0120a627591a80c59ef10b419d790bb120064e3",
      "subject": "Bug 2041622 - Handle substitution functions in InspectorUtils.getComputationSteps. r=firefox-style-system-reviewers,layout-reviewers,emilio."
    },
    "D318072": {
      "author": "Timothy Nikkel",
      "avatar": "https://www.gravatar.com/avatar/0646a42110a02dd585f200f270716852?d=identicon\u0026s=64",
      "cl": "D318072",
      "clUrl": "https://phabricator.services.mozilla.com/D318072",
      "description": "The size_t range check added to ParseVariationDataSubtable in bug 2053326 was\napplied directly to our copy of variations.cc without adding a patch file for it,\nso re-vendoring ots did not reapply it and could not reproduce the committed tree.\nThe next update of ots would have quietly dropped the check.\n\nCapture it as ots-variation-overflow.patch and add it to the patches list. With\nthis, `./mach vendor gfx/ots/moz.yaml -r 57df65763716060895afafb1d8a1905aa84c7133\n--patch-mode check --force` reproduces the committed tree exactly.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D318072",
      "email": "tnikkel@gmail.com",
      "hash": "55383f3c8cfcaf40484f980e62724b4995b617f3",
      "subject": "Bug 2062919. Add a patch file for the ots ParseVariationDataSubtable overflow check. r=gfx-reviewers,lsalzman"
    },
    "D318077": {
      "author": "Timothy Nikkel",
      "avatar": "https://www.gravatar.com/avatar/0646a42110a02dd585f200f270716852?d=identicon\u0026s=64",
      "cl": "D318077",
      "clUrl": "https://phabricator.services.mozilla.com/D318077",
      "description": "The revision in moz.yaml still said VER-2-14-2 although bug 2025203 updated the\nsources to 2.14.3, because a mach vendor bug kept the revision field from being\nupdated (bug 2056510, since fixed). Re-vendoring therefore downgraded 470 files. Point\nrelease and revision at VER-2-14-3, which is what the tree contains.\n\nThe three cherry-picks made since then were applied straight to the vendored sources\nwith no patch files, so re-vendoring dropped them: bug 2032039 (fix\ntt_face_colr_blend_layer for a FT_PIXEL_MODE_MONO source), bug 2032043 (upstream\n1803559c) and bug 2038537 (truetype interpreter fixes). Add a patch for each, numbered\nin the order they landed because two of them touch ttinterp.c.\n\nThese are cherry-picks, so a future upstream release should contain them, at which\npoint patch will refuse to apply them and they can be dropped. That is the failure we\nwant: without the patch files, vendoring a release that does not have them yet loses\nthe fixes silently instead.\n\nWith this, `./mach vendor modules/freetype2/moz.yaml -r VER-2-14-3 --patch-mode check\n--force` reproduces the committed tree exactly.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D318077",
      "email": "tnikkel@gmail.com",
      "hash": "a1986a7396bd3e92103d17e0c6d03e10916dbf99",
      "subject": "Bug 2062926. Make modules/freetype2 vendor with its local changes. r=gfx-reviewers,lsalzman"
    },
    "D318095": {
      "author": "t-p-white",
      "avatar": "https://www.gravatar.com/avatar/22a9310c1f58a884132acc7cea6f3c6b?d=identicon\u0026s=64",
      "cl": "D318095",
      "clUrl": "https://phabricator.services.mozilla.com/D318095",
      "description": "**Fix**\n* Folded the Nimbus enabled check into `canShowPrompt()` alongside the existing device-capable, not-already-default, and not-yet-shown checks, instead of gating on it separately in `OnboardingFragment`.\n* Add tests covering the enabled-flag case and the `maybePromptToSetAsDefaultBrowser` integration path.\n\n**Expected behaviour**\nThe set to default system prompt should be shown during onboarding when:\n  - the device is capable\n  - the onboarding card is the set to default card\n  - Firefox (current build) is not already default browser\n  - the set to default prompt is enabled\n  - the prompt has not already been shown during onboarding\n\n{F77595754}\n\nDifferential Revision: https://phabricator.services.mozilla.com/D318095",
      "email": "towhite@mozilla.com",
      "hash": "266b2dc3530aa7ec1705745e705b34d76199310d",
      "subject": "Bug 2062950 - Move default browser prompt gating into DefaultBrowserPromptManager. r=android-reviewers,alastun,aaronmt"
    },
    "D318120": {
      "author": "Dharma Ong",
      "avatar": "https://www.gravatar.com/avatar/0a7381e7eb23f16fd97036b4645ac315?d=identicon\u0026s=64",
      "cl": "D318120",
      "clUrl": "https://phabricator.services.mozilla.com/D318120",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D318120",
      "email": "dharmaong00@gmail.com",
      "hash": "83bf6e1a96d97946ba9fc94c4c12f2607eb71b76",
      "subject": "Bug 2061818 - Change UrlbarInput to a base class. r=dao,urlbar-reviewers"
    },
    "D318165": {
      "author": "Emma Zuehlcke",
      "avatar": "https://www.gravatar.com/avatar/46f58cc04758e80835820f0f1d5646bb?d=identicon\u0026s=64",
      "cl": "D318165",
      "clUrl": "https://phabricator.services.mozilla.com/D318165",
      "description": "navigateLinkClick faked user activation and called link.click() because\ndriving the click from the parent with\nBrowserTestUtils.synthesizeMouseAtCenter was intermittent. That helper\nneeds a second IPC round trip after the link is inserted, which can race\nthe insertion (Bug 1743857). It resolves the selector in the content\nprocess and, when the selector does not match, only dumps a message and\ndispatches the click at (0, 0). That lands in the body margin and hits\nthe root element, which is what the intermittent failures looked like.\n\nInsert and click the link in the same content task instead, using\nContentTaskUtils.getEventUtils. The link is pinned to the top left\ncorner above any other content so the click always hits it, and the\nhelper now asserts that it did rather than silently clicking nothing.\n\nA real click grants transient user activation via EventStateManager and\nmarks the document as interacted with, which reaches\nBounceTrackingProtection::RecordUserActivation through\nDocument::SetUserHasInteracted. The explicit\nnotifyUserGestureActivation and userInteractionForTesting calls are\ntherefore no longer needed.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D318165",
      "email": "emz@mozilla.com",
      "hash": "203de8d131478149ea33620e04e93d6d24688fdb",
      "subject": "Bug 1892091 - Click BTP test links with a synthesized mouse event. r=timhuang"
    },
    "D318182": {
      "author": "Nicolas Chevobbe",
      "avatar": "https://www.gravatar.com/avatar/f942478f2eaeb6cc42142cdd661976a7?d=identicon\u0026s=64",
      "cl": "D318182",
      "clUrl": "https://phabricator.services.mozilla.com/D318182",
      "description": "We add a NeedsCallerType annotation on Window#inner(Width|Height) and use it\nto avoid rounding in nsGlobalWindowOuter::GetInnerSize when this is a system call.\n\nSince the ViewportSize highlighter calls Window#inner(Width|Height) as a system\ncall, we're getting non rounded values.\nWe then display the size with a single decimal, as it should be precise enough.\n\nAlso remove unused nsPIDOMWindowOuter nsresult GetInnerWidth|Height and their\nnsGlobalWindowOuter overrides.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D318182",
      "email": "nchevobbe@mozilla.com",
      "hash": "e640c9ef21472f3e7f71e1541c9b0c8dadebb715",
      "subject": "Bug 2055445 - [devtools] Display higher precision width and height in ViewportSize highlighter. r=emilio,devtools-reviewers,layout-reviewers,webidl,ochameau"
    },
    "D318191": {
      "author": "Seunghyun An",
      "avatar": "https://www.gravatar.com/avatar/81e446de507b0d6459c414817efc4893?d=identicon\u0026s=64",
      "cl": "D318191",
      "clUrl": "https://phabricator.services.mozilla.com/D318191",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D318191",
      "email": "san55@wisc.edu",
      "hash": "e3333a67c2d365929ee0207019475b169de7a853",
      "subject": "Bug 2063033 - Do not delete borrowed MozFramebuffer color backings. r=gfx-reviewers,stransky,lsalzman"
    },
    "D318245": {
      "author": "Swarup Ukil",
      "avatar": "https://www.gravatar.com/avatar/90738734b8b0eb5d3747092a43db4fc3?d=identicon\u0026s=64",
      "cl": "D318245",
      "clUrl": "https://phabricator.services.mozilla.com/D318245",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D318245",
      "email": "sukil@mozilla.com",
      "hash": "5e480f6e4b7c465781622bbf4dbf0e604f2cfae7",
      "subject": "Bug 2059655 - Update tainted range to be relative to substituted value. r=firefox-style-system-reviewers,emilio"
    },
    "D318247": {
      "author": "Michael Kaply",
      "avatar": "https://www.gravatar.com/avatar/dc84c7d304a23e0a62a86580dd08c587?d=identicon\u0026s=64",
      "cl": "D318247",
      "clUrl": "https://phabricator.services.mozilla.com/D318247",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D318247",
      "email": "mozilla@kaply.com",
      "hash": "2d9ed3886eeb4016786b9d18d0295b2b73a05667",
      "subject": "Bug 2041238 - Hide unified extensions panel \"Discover extensions\" button when discopane is disabled. r=extension-reviewers,robwu"
    },
    "D318262": {
      "author": "DrSeed Lu",
      "avatar": "https://www.gravatar.com/avatar/1e9049af48a402e6ff0ad0b732d38a05?d=identicon\u0026s=64",
      "cl": "D318262",
      "clUrl": "https://phabricator.services.mozilla.com/D318262",
      "description": "Customize Sidebar now shows a \"Show preview on hover\" option nested under\nthe Open Tabs tool. It is checked by default and controls the\nsidebar.openTabsPanel.hoverPreview.enabled pref that was added in Bug 2039601.\n\nThe option only renders while Open Tabs is enabled, following how expand on\nhover and hide tabs and sidebar are nested under vertical tabs.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D318262",
      "email": "dr.seed.lu@gmail.com",
      "hash": "1118cb51cd3c48957c6bfa48652a7ca536d795b9",
      "subject": "Bug 2039602 - Add a setting for the open tabs hover preview to Customize Sidebar r=fluent-reviewers,kcochrane,bolsson"
    },
    "D318271": {
      "author": "Florian Quèze",
      "avatar": "https://www.gravatar.com/avatar/0ffa237c82d28773736b6c9688b404e3?d=identicon\u0026s=64",
      "cl": "D318271",
      "clUrl": "https://phabricator.services.mozilla.com/D318271",
      "description": "Remove obsolete skip-if. The test passes now, and the\ncondition was removed before in bug 1732829 before it\nwas restored for unknown reasons in bug 1750839.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D318271",
      "email": "florian@queze.net",
      "hash": "13ee18a947eaeac2504ccd842594cda6a316e074",
      "subject": "Bug 1699341 - Re-enable browser_ext_popup_select_in_oopif.js on TSan, r=extension-reviewers,robwu."
    },
    "D318322": {
      "author": "Olli Pettay",
      "avatar": "https://www.gravatar.com/avatar/13772facadedc1bff63debd9e596f5e2?d=identicon\u0026s=64",
      "cl": "D318322",
      "clUrl": "https://phabricator.services.mozilla.com/D318322",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D318322",
      "email": "Olli.Pettay@helsinki.fi",
      "hash": "8c19ad58a317e4b4fcf8f8a89cab86e82c8769f3",
      "subject": "Bug 2063109 - Remove some more old telemetry probes from Histograms.json and elsewhere: ORB, ForgetSkippable, SessionStore, r=farre,janerik"
    },
    "D318325": {
      "author": "Masayuki Nakano",
      "avatar": "https://www.gravatar.com/avatar/900caab146bc7a489b3854cf10acf93f?d=identicon\u0026s=64",
      "cl": "D318325",
      "clUrl": "https://phabricator.services.mozilla.com/D318325",
      "description": "If the input context is set to not editable, the last committed grapheme\ncluster is never cleared. Therefore, the following `eKeyDown` and\n`eKeyPress` events after an editable element blurred will be initialized\nwith the committed grapheme cluster. The value is required only\nimmediately after the call of `OnKeyEvent`. Therefore, it should forget\nthe old value first. Then, the value becomes a void string and\n`nsGtkKeyUtils::DispatchKeyDownOrKeyUpEvent` will compute the typed\ncharacter from the `GdkEventKey` values.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D318325",
      "email": "masayuki@d-toybox.com",
      "hash": "17d2c129e57b8953ec4d531fbfec5a4a6ff3130a",
      "subject": "Bug 2060599 - Make `IMContextWrapper::OnKeyEvent` forget the previous commit string first r=m_kato"
    },
    "D318328": {
      "author": "Stephen Thompson",
      "avatar": "https://www.gravatar.com/avatar/f7173a41a5f3f5f210e160e79dda5488?d=identicon\u0026s=64",
      "cl": "D318328",
      "clUrl": "https://phabricator.services.mozilla.com/D318328",
      "description": "Confirmed that this test times out when minimizing a maximized window in all tested configurations of Linux 22.04 Wayland:\n\n- opt or debug\n- Nova enabled or Nova disabled\n\nDifferential Revision: https://phabricator.services.mozilla.com/D318328",
      "email": "sthompson@mozilla.com",
      "hash": "b38552c4a58e13a7da62aac8472edf95fabcdde0",
      "subject": "Bug 2057856 - skip browser_sizemodeBeforeMinimized.js on Linux 22.04 r=sclements"
    },
    "D318332": {
      "author": "Stephen Thompson",
      "avatar": "https://www.gravatar.com/avatar/f7173a41a5f3f5f210e160e79dda5488?d=identicon\u0026s=64",
      "cl": "D318332",
      "clUrl": "https://phabricator.services.mozilla.com/D318332",
      "description": "Fails inconsistently across multiple configurations:\n\n- opt or debug\n- Nova enabled or Nova disabled\n\nThis test is also already skipped for Linux 24.04 X11. For Linux 22.04 Wayland, at least, the issue appears to be a race. It sets a window sizemode (e.g. to maximized) and then asserts the sizemode after a zero setTimeout. This test could be more stable if it awaited the expected sizemode instead of asserting it after setTimeout, but given that there are some other tests not receiving sizemode changes at all under Linux 22.04 Wayland, I think it's simpler to skip this test in Linux 22.04 in general.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D318332",
      "email": "sthompson@mozilla.com",
      "hash": "6668a8d4e0ee592077c94a84dd737a58cf0fe436",
      "subject": "Bug 2057857 - skip browser_477657.js on Linux 22.04 Wayland r=jswinarton"
    },
    "D318334": {
      "author": "Olivier Mehani",
      "avatar": "https://www.gravatar.com/avatar/9abc74ffe01d2b0e49d7ac9115159287?d=identicon\u0026s=64",
      "cl": "D318334",
      "clUrl": "https://phabricator.services.mozilla.com/D318334",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D318334",
      "email": "omehani@mozilla.com",
      "hash": "bfa4adcb4fc1c12e0338f43c1837371b373dfde4",
      "subject": "Bug 2063147 - workflows: add link to doc about changing a PR target DOT_GITHUB_OVERRIDE DONTBUILD r=zeid,sheehan"
    },
    "D318335": {
      "author": "Olivier Mehani",
      "avatar": "https://www.gravatar.com/avatar/9abc74ffe01d2b0e49d7ac9115159287?d=identicon\u0026s=64",
      "cl": "D318335",
      "clUrl": "https://phabricator.services.mozilla.com/D318335",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D318335",
      "email": "omehani@mozilla.com",
      "hash": "70e75212c48df32fa70b07235746afb79ea5fe86",
      "subject": "Bug 2063060 - workflows: add layout team paths ot PR ALLOWED_PATHS DOT_GITHUB_OVERRIDE DONTBUILD r=zeid,emilio"
    },
    "D318362": {
      "author": "Mark Striemer",
      "avatar": "https://www.gravatar.com/avatar/8407f1551cb10122bad1fc181e6177ac?d=identicon\u0026s=64",
      "cl": "D318362",
      "clUrl": "https://phabricator.services.mozilla.com/D318362",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D318362",
      "email": "mstriemer@mozilla.com",
      "hash": "946d06a003706e730f916cf8d427c3842a35a0ff",
      "subject": "Bug 2058216 - Part 1: Sync Nova button design tokens from Figma r=desktop-theme-reviewers,jules,ini"
    },
    "D318367": {
      "author": "Ting-Yu Lin",
      "avatar": "https://www.gravatar.com/avatar/ae1ed412b945fef9c52eee2f809a4406?d=identicon\u0026s=64",
      "cl": "D318367",
      "clUrl": "https://phabricator.services.mozilla.com/D318367",
      "description": "This doesn't change behavior.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D318367",
      "email": "tlin@mozilla.com",
      "hash": "1f6768dfc648b6fa24cdd2344bfcdccb0d1ae4ce",
      "subject": "Bug 2063136 Part 1 - Convert anonymous enum flag for transform matrix to enum class. r=firefox-svg-reviewers,longsonr"
    },
    "D318368": {
      "author": "Ting-Yu Lin",
      "avatar": "https://www.gravatar.com/avatar/ae1ed412b945fef9c52eee2f809a4406?d=identicon\u0026s=64",
      "cl": "D318368",
      "clUrl": "https://phabricator.services.mozilla.com/D318368",
      "description": "Note the param `aStopAtStackingContextAndDisplayPortAndOOFFrame` has an\n\"AndOOFFrame\" suffix. We removed the support in bug 1636071. The flag name\nalready reflects the reality.\n\nAlso, improve the implementation of `TransformGfxRectToAncestor()` by using\n`LayoutDeviceRect::FromAppUnits()`. This doesn't change behavior.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D318368",
      "email": "tlin@mozilla.com",
      "hash": "593897eff0e23d9948ee4dbcd4b5bf28afe44136",
      "subject": "Bug 2063136 Part 2 - Use TransformMatrixFlags to replace bool params. r=layout-reviewers,emilio"
    },
    "D318375": {
      "author": "Sotaro Ikeda",
      "avatar": "https://www.gravatar.com/avatar/a0c6bcb88fdc08a4e55f4fcf65cf0428?d=identicon\u0026s=64",
      "cl": "D318375",
      "clUrl": "https://phabricator.services.mozilla.com/D318375",
      "description": "Add device reset check in RendererOGL::UpdateAndRender() during taking screenshot for Bug 2041424.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D318375",
      "email": "sotaro.ikeda.g@gmail.com",
      "hash": "2331354b8449e6698d16b257ae1e407635f999d2",
      "subject": "Bug 2063174 - Add device reset check in RendererOGL::UpdateAndRender() during taking screenshot r=gfx-reviewers,lsalzman"
    },
    "D318378": {
      "author": "Olivier Mehani",
      "avatar": "https://www.gravatar.com/avatar/9abc74ffe01d2b0e49d7ac9115159287?d=identicon\u0026s=64",
      "cl": "D318378",
      "clUrl": "https://phabricator.services.mozilla.com/D318378",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D318378",
      "email": "omehani@mozilla.com",
      "hash": "3c14eb676e91310d62b1ae58ac66c3c94f08c0cf",
      "subject": "Bug 2063497 - workflows: pin actions/create-github-app-token to hash for v3.2.0 DOT_GITHUB_OVERRIDE DONTBUILD r=sheehan"
    },
    "D318380": {
      "author": "Alexandre Lissy",
      "avatar": "https://www.gravatar.com/avatar/50358782282ddba250d616a5fd61cd6e?d=identicon\u0026s=64",
      "cl": "D318380",
      "clUrl": "https://phabricator.services.mozilla.com/D318380",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D318380",
      "email": "lissyx@lissyx.dyndns.org",
      "hash": "a6b87ed4de61cedbe473347b6bdd8208d77e24c0",
      "subject": "Bug 2063194 - Force eslint prefer-const on Policies.sys.mjs r=mkaply,jneuberger"
    },
    "D318397": {
      "author": "Maryam",
      "avatar": "https://www.gravatar.com/avatar/25b560083af872cabb7025732c99ad2d?d=identicon\u0026s=64",
      "cl": "D318397",
      "clUrl": "https://phabricator.services.mozilla.com/D318397",
      "description": "Use outerHTML instead of innerHTML when extracting safe content for the SmartBlock embed placeholder, since innerHTML drops the element's own tag, losing the href when the matched embed element is itself an \u003ca\u003e rather than a wrapper containing one. No behavior change for wrapper containers, since the Sanitizer already unwraps those regardless of\nwhich serialization is used.\n\nAdds a regression test (browser_smartblockembeds_link_preservation.js)\ncovering the case where the matched container element is the link itself, using a new fixture page (smartblock_embed_link_container_test.html).\n\nDifferential Revision: https://phabricator.services.mozilla.com/D318397",
      "email": "momar@mozilla.com",
      "hash": "fbd28db0bba672d5a923209e8db2ec16440cadcc",
      "subject": "Bug 2021276 - Preserve links when the SmartBlock embed container is itself an \u003ca\u003e element. r=webcompat-reviewers,timhuang,twisniewski"
    },
    "D318401": {
      "author": "Dão Gottwald",
      "avatar": "https://www.gravatar.com/avatar/45dfe136efbb8e5f89eb0b21775ab195?d=identicon\u0026s=64",
      "cl": "D318401",
      "clUrl": "https://phabricator.services.mozilla.com/D318401",
      "description": "Wayland offers no way to observe that a window was minimized (bug 2063202), so\nthe minimize half of the switchingWindows task can never pass there. The rest of\nthe file is platform-neutral, so guard that half and let the remaining coverage\nkeep running on Wayland.\n\nBrowserTestUtils.canMinimize holds the platform check, since other tests that\ncall window.minimize() face the same question.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D318401",
      "email": "dao@mozilla.com",
      "hash": "e4c93d05c96040312bd5ced935a3479fe8431980",
      "subject": "Bug 2057865 - Guard browser_lastSeenActive.js's minimize coverage instead of skipping the file. r=sthompson,tabbrowser-reviewers"
    },
    "D318407": {
      "author": "Dão Gottwald",
      "avatar": "https://www.gravatar.com/avatar/45dfe136efbb8e5f89eb0b21775ab195?d=identicon\u0026s=64",
      "cl": "D318407",
      "clUrl": "https://phabricator.services.mozilla.com/D318407",
      "description": "The press has to happen while moving-tab mode leaves #nav-bar inert, so it lands\non the toolbox, while the release that balances it lands on the urlbar input,\nrecovery having ended moving-tab mode by then. The click goes to the two\ntargets' common ancestor, which is the toolbox, and a11y-checks flags it for\nhaving no interactive accessible.\n\nVerified with --enable-a11y-checks, where the file fails the way it does in CI\nwithout this and passes with it.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D318407",
      "email": "dao@mozilla.com",
      "hash": "600f3242f43eebdb205b92ce6d8e1fa8043feae4",
      "subject": "Bug 2062496 - Exempt the stale drag test's mouse release from a11y checks. r=tabbrowser-reviewers,jsudiaman"
    },
    "D318413": {
      "author": "lola_t",
      "avatar": "https://www.gravatar.com/avatar/16f9aa018420a403662543ff6812393d?d=identicon\u0026s=64",
      "cl": "D318413",
      "clUrl": "https://phabricator.services.mozilla.com/D318413",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D318413",
      "email": "ltokhtamuradova@mozilla.com",
      "hash": "84b31b68de664596f68c0954a33603ba3a70033e",
      "subject": "Bug 2022880 - Add url and one line title for all blocked trackers screens r=android-reviewers,petru"
    },
    "D318415": {
      "author": "Rong Bao",
      "avatar": "https://www.gravatar.com/avatar/ebbe93ed6a8a3d3d694d9638635e8c87?d=identicon\u0026s=64",
      "cl": "D318415",
      "clUrl": "https://phabricator.services.mozilla.com/D318415",
      "description": "Name the one allocated earlier \"scratch\" and the other one \"scratch2\".\nThis should be a pure renaming with no runtime effect.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D318415",
      "email": "webmaster@csmantle.top",
      "hash": "5269f5c02bf9d273bd06f762a7a1f53cbab6db24",
      "subject": "Bug 2063239 - [loong64] Part 1: (Drive-by) Normalize naming of \"scratch\" and \"scratch2\". r=jandem"
    },
    "D318416": {
      "author": "Rong Bao",
      "avatar": "https://www.gravatar.com/avatar/ebbe93ed6a8a3d3d694d9638635e8c87?d=identicon\u0026s=64",
      "cl": "D318416",
      "clUrl": "https://phabricator.services.mozilla.com/D318416",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D318416",
      "email": "webmaster@csmantle.top",
      "hash": "a767fe78905e24ad56fc3539bae9d540d1d3463a",
      "subject": "Bug 2063239 - [loong64] Part 2: (Drive-by) Fix bad int32 range assertions. r=jandem"
    },
    "D318417": {
      "author": "Rong Bao",
      "avatar": "https://www.gravatar.com/avatar/ebbe93ed6a8a3d3d694d9638635e8c87?d=identicon\u0026s=64",
      "cl": "D318417",
      "clUrl": "https://phabricator.services.mozilla.com/D318417",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D318417",
      "email": "webmaster@csmantle.top",
      "hash": "c3ddc353fe4472a00572f84edee821413d168b34",
      "subject": "Bug 2063239 - [loong64] Part 3: Remove redundant sign extension in CodeGenerator::visitSignExtendInt64. r=jandem"
    },
    "D318418": {
      "author": "Rong Bao",
      "avatar": "https://www.gravatar.com/avatar/ebbe93ed6a8a3d3d694d9638635e8c87?d=identicon\u0026s=64",
      "cl": "D318418",
      "clUrl": "https://phabricator.services.mozilla.com/D318418",
      "description": "Fuse the small immediates directly into the operation instruction\nitself. Also, use BSTRPICK.D to simplify immediates with a single chunk\nof 1s.\n\nA codegen test is added to verify the results.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D318418",
      "email": "webmaster@csmantle.top",
      "hash": "607660cccdd811ab47d220642140ea75309219c7",
      "subject": "Bug 2063239 - [loong64] Part 4: Handle small and mask-like immediates in CodeGenerator::visitBitOpI64. r=jandem"
    },
    "D318419": {
      "author": "Rong Bao",
      "avatar": "https://www.gravatar.com/avatar/ebbe93ed6a8a3d3d694d9638635e8c87?d=identicon\u0026s=64",
      "cl": "D318419",
      "clUrl": "https://phabricator.services.mozilla.com/D318419",
      "description": "The patterns added are largely borrowed from\nwasm/binop-{arm64,x64}-ion-codegen.js.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D318419",
      "email": "webmaster@csmantle.top",
      "hash": "b384ee4ca2e7ecc72c89d960dbbceec284d2abad",
      "subject": "Bug 2063239 - [loong64] Part 5: Improve binop codegen test coverage. r=jandem"
    },
    "D318420": {
      "author": "Rong Bao",
      "avatar": "https://www.gravatar.com/avatar/ebbe93ed6a8a3d3d694d9638635e8c87?d=identicon\u0026s=64",
      "cl": "D318420",
      "clUrl": "https://phabricator.services.mozilla.com/D318420",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D318420",
      "email": "webmaster@csmantle.top",
      "hash": "9562d9c41756f5ad0574c35e524b1ea14691ab85",
      "subject": "Bug 2063239 - [loong64] Part 6: Add BSTRPICK.D shortcut to ma_add(Register, Register, Imm32). r=jandem"
    },
    "D318421": {
      "author": "Rong Bao",
      "avatar": "https://www.gravatar.com/avatar/ebbe93ed6a8a3d3d694d9638635e8c87?d=identicon\u0026s=64",
      "cl": "D318421",
      "clUrl": "https://phabricator.services.mozilla.com/D318421",
      "description": "Both of these functions has various callers with small or bitmask-like\nImm32/ImmWord input. These can also benefit from the new shortcuts.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D318421",
      "email": "webmaster@csmantle.top",
      "hash": "c27f4b9ef3b6ac2b657351f4f39f14d4528ff568",
      "subject": "Bug 2063239 - [loong64] Part 7: Add shortcuts to branchTest{32,Ptr}. r=jandem"
    },
    "D318432": {
      "author": "Daisuke Akatsuka",
      "avatar": "https://www.gravatar.com/avatar/a65a0876b78fe449d63939aa44c86afc?d=identicon\u0026s=64",
      "cl": "D318432",
      "clUrl": "https://phabricator.services.mozilla.com/D318432",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D318432",
      "email": "daisuke@birchill.co.jp",
      "hash": "1aedade048d6d37a9566061d27785362af21cf72",
      "subject": "Bug 2063171 - [Nova] Keep the title separator in wrapped sponsored rows r=desktop-theme-reviewers,urlbar-reviewers,kcochrane,adw"
    },
    "D318459": {
      "author": "serge-sans-paille",
      "avatar": "https://www.gravatar.com/avatar/9cdfdfc05249440f57269a0d26487253?d=identicon\u0026s=64",
      "cl": "D318459",
      "clUrl": "https://phabricator.services.mozilla.com/D318459",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D318459",
      "email": "sguelton@mozilla.com",
      "hash": "57567957a905c7d51dca7bed6ac7e86b1fbbfd24",
      "subject": "Bug 2063276 - Fix incorrect use of `std::forward` where `std::move` should be used r=bthrall"
    },
    "D318472": {
      "author": "Calixte Denizet",
      "avatar": "https://www.gravatar.com/avatar/4546427c28f29c34fe095c40c137ef35?d=identicon\u0026s=64",
      "cl": "D318472",
      "clUrl": "https://phabricator.services.mozilla.com/D318472",
      "description": "Move the file picker and PDF validation to AboutPDFParent so content never supplies a local path. Leave dropped PDFs to native drop handling.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D318472",
      "email": "calixte.denizet@gmail.com",
      "hash": "aeffc52fd7ccff668fbb5e6b18fa176a0cf5ebed",
      "subject": "Bug 2058085 - Pick about:pdf files in the parent process. r=mossop,fluent-reviewers,flod"
    },
    "D318473": {
      "author": "Dão Gottwald",
      "avatar": "https://www.gravatar.com/avatar/45dfe136efbb8e5f89eb0b21775ab195?d=identicon\u0026s=64",
      "cl": "D318473",
      "clUrl": "https://phabricator.services.mozilla.com/D318473",
      "description": "These call sites pass their message as a bare fourth argument, which the helper\ndestructures as `{ msg }`, so `msg` comes out undefined and the wait reports the\ngenerated fallback label instead. Wrap each one. The strings were dead before\ntoo, back when the fourth argument was unused.\n\nMechanical throughout, every message carried over verbatim; the reflowed\ntemplate literals in the datetime tests are prettier's doing.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D318473",
      "email": "dao@mozilla.com",
      "hash": "e7fe37123b55f9b3640aa540e436380c003b2839",
      "subject": "Bug 2063269 - Pass waitForMutationCondition's message as the option it expects. r=firefox-desktop-core-reviewers ,places-reviewers,urlbar-reviewers,Standard8,mossop"
    },
    "D318476": {
      "author": "Nicolas Guichard",
      "avatar": "https://www.gravatar.com/avatar/b84ce044c20eb323f7241752bbcef70e?d=identicon\u0026s=64",
      "cl": "D318476",
      "clUrl": "https://phabricator.services.mozilla.com/D318476",
      "description": "This brings in changes related to qualified name handling in Clang 22,\nsee https://github.com/mozsearch/mozsearch/pull/1130 for details and\ntests.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D318476",
      "email": "nicolas.guichard@kdab.com",
      "hash": "289464f61a5d2c4bfc4c46261589687c8b4f7d6f",
      "subject": "Bug 2063296 - Update Mozsearch Clang plugin with Clang 22 fixes. r=asuth"
    },
    "D318478": {
      "author": "Jon Coppeard",
      "avatar": "https://www.gravatar.com/avatar/c9ec760b0d3a20a6775614baa4086871?d=identicon\u0026s=64",
      "cl": "D318478",
      "clUrl": "https://phabricator.services.mozilla.com/D318478",
      "description": "This is similar to other places where we call setMayHavePointersToDeadCells().\nWe may end up remapping dying proxy objects so if we insert a storebuffer entry\nwe need to set this flag so we'll empty the nursery before we sweep the object.\n\nThe patch also makes a change to the shell to supply a rewrap callback that\ncalls Wrapper::Renew on existing proxies, like the browser does.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D318478",
      "email": "jcoppeard@mozilla.com",
      "hash": "3dbb00f016f3da58d7a83affc0ba0d7ad83065b5",
      "subject": "Bug 2061300 - Make ProxyObject::renew work when called on dying objects r=jandem"
    },
    "D318483": {
      "author": "Maxx Crawford",
      "avatar": "https://www.gravatar.com/avatar/362d6fa2232df934b7129870b2726186?d=identicon\u0026s=64",
      "cl": "D318483",
      "clUrl": "https://phabricator.services.mozilla.com/D318483",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D318483",
      "email": "mcrawford@mozilla.com",
      "hash": "3c3957e098d10db7174a5ee239d750c8a0ec50fe",
      "subject": "Bug 2061741 - Create the side-by-side newtab layout experiment r=thecount"
    },
    "D318486": {
      "author": "Emilio Cobos Álvarez",
      "avatar": "https://www.gravatar.com/avatar/1d91d22a4892f16f744b31fd4286144e?d=identicon\u0026s=64",
      "cl": "D318486",
      "clUrl": "https://phabricator.services.mozilla.com/D318486",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D318486",
      "email": "emilio@crisal.io",
      "hash": "fda7a108cb5924b19fe6650b2fa03a79dc3418f1",
      "subject": "Bug 2059521 - Make ChromeUtils.isDarkBackground() trust an explicit color-scheme. r=layout-reviewers,dshin"
    },
    "D318487": {
      "author": "Emilio Cobos Álvarez",
      "avatar": "https://www.gravatar.com/avatar/1d91d22a4892f16f744b31fd4286144e?d=identicon\u0026s=64",
      "cl": "D318487",
      "clUrl": "https://phabricator.services.mozilla.com/D318487",
      "description": "This changes the behavior of scrollbar color-scheme detection but I\nthink it's the right thing to do.\n\nWanted to split it from the previous commit tho since it has a bit of a\nlarger blast radius.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D318487",
      "email": "emilio@crisal.io",
      "hash": "cb1652efcbe4b7be6089af3d91257c1a7d2e1d7b",
      "subject": "Bug 2059521 - Push the check to nsNativeTheme::IsDarkBackground. r=layout-reviewers,dshin"
    },
    "D318496": {
      "author": "Kershaw Chang",
      "avatar": "https://www.gravatar.com/avatar/608e04ebca94be52b05c003d51d43e07?d=identicon\u0026s=64",
      "cl": "D318496",
      "clUrl": "https://phabricator.services.mozilla.com/D318496",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D318496",
      "email": "kershaw@mozilla.com",
      "hash": "3d7215bd57de64fbeafa41950a376ba1386206cf",
      "subject": "Bug 2059597 - Track mDBLock ownership and crash if it stays unused, r=necko-reviewers,valentin"
    },
    "D318502": {
      "author": "Emilio Cobos Álvarez",
      "avatar": "https://www.gravatar.com/avatar/1d91d22a4892f16f744b31fd4286144e?d=identicon\u0026s=64",
      "cl": "D318502",
      "clUrl": "https://phabricator.services.mozilla.com/D318502",
      "description": "We need to do it on both because we have some synthesized mouse events\nwhich don't generate pointer events.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D318502",
      "email": "emilio@crisal.io",
      "hash": "ff53f33899d08f8ecad25bcb8a810166b47997ca",
      "subject": "Bug 2062197 - Update hover state on pointer events as well as mouse events. r=smaug"
    },
    "D318522": {
      "author": "Matthew Gaudet",
      "avatar": "https://www.gravatar.com/avatar/0c4c6c72545e010e29e8da0e3bb229ee?d=identicon\u0026s=64",
      "cl": "D318522",
      "clUrl": "https://phabricator.services.mozilla.com/D318522",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D318522",
      "email": "mgaudet@mozilla.com",
      "hash": "266f65f2bd87b099756bc781200b4ac32978a928",
      "subject": "Bug 2063370 - emit_Resume can hoist the barrier check r=jandem"
    },
    "D318532": {
      "author": "Mike Conley",
      "avatar": "https://www.gravatar.com/avatar/4b4985a7acf7db49dfddd7815b55a043?d=identicon\u0026s=64",
      "cl": "D318532",
      "clUrl": "https://phabricator.services.mozilla.com/D318532",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D318532",
      "email": "mconley@mozilla.com",
      "hash": "fea0d310a48e560dcebaa4c22fecd9484cedb1f7",
      "subject": "Bug 2063344 - Update trainhop-beta and trainhop-release rules to match new macOS jobs names. r=aryx"
    },
    "D318535": {
      "author": "Kagami Sascha Rosylight",
      "avatar": "https://www.gravatar.com/avatar/9f759e9904275bba9b2d86f5fb12964d?d=identicon\u0026s=64",
      "cl": "D318535",
      "clUrl": "https://phabricator.services.mozilla.com/D318535",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D318535",
      "email": "krosylight@proton.me",
      "hash": "8af44a7b62f8a5ad380506c6149b96e5062247d6",
      "subject": "Bug 2063394 - Detect whether the path has a browser subdirectory r=geckodriver-reviewers,jgraham"
    },
    "D318536": {
      "author": "Florian Zia",
      "avatar": "https://www.gravatar.com/avatar/aea2cf3391a47c5f5c118b752c44a393?d=identicon\u0026s=64",
      "cl": "D318536",
      "clUrl": "https://phabricator.services.mozilla.com/D318536",
      "description": "Mirror the smartbar fallback for scroll-driven animations: JS controlls a scroll-progress custom property when animation-timeline: scroll() is not available.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D318536",
      "email": "fzia@mozilla.com",
      "hash": "d92503cb344b2587778c318f97e653295a67f6b2",
      "subject": "Bug 2061776 - Fallback for scroll-driven-animations in ai-action-confirmation r=omarg"
    },
    "D318537": {
      "author": "Delia Pop",
      "avatar": "https://www.gravatar.com/avatar/9bc6f69101aaf2750dbd3cfc9d6b37d8?d=identicon\u0026s=64",
      "cl": "D318537",
      "clUrl": "https://phabricator.services.mozilla.com/D318537",
      "description": "Converts three @SmokeTest methods of org.mozilla.fenix.ui.TabbedBrowsingTest onto\nthe ui/efficiency framework:\n\n- verifyCloseAllPrivateTabsNotificationTest (TestRail 903592)\n- shareTabsFromTabsTrayTest (TestRail 903598)\n- verifyTheSearchTabsFunctionalityTest (TestRail 3968085)\n\nHarness additions (conversion-supporting; no BasePage/framework-primitive changes):\n- TabDrawerSelectors: tab-search handles (open button, input field, clear button,\n  no-results title/subtitle, TAB_SEARCH_RESULT-by-text) and select/share handles\n  (SELECT_TABS_SHARE_BUTTON, SELECTION_COUNTER).\n- TabDrawerPage: selectTabsForSharing/shareSelectedTabs and\n  openTabSearch/typeInTabSearch/clearTabSearch helpers.\n- ShareOverlaySelectors.SHARED_SITE_LIST + ShareOverlayPage.verifyShareTabsOverlay.\n- NotificationPage private-tabs notification helpers (Android 14 defers the\n  private-session foreground-service notification from display, so it is verified\n  with a longer timeout).\n\nThe legacy methods are annotated @Converted and continue to run until the\nreplacements have been green on main for the configured cadence.\n\nThe UI test successfully passed 25x on Firebase. [[ https://treeherder.mozilla.org/jobs?repo=try\u0026landoInstance=lando-prod-2025\u0026landoCommitID=78770  | Try ]]\nAll efficiency UI test successfully passed 1x on Firebase. [[ https://treeherder.mozilla.org/jobs?repo=try\u0026landoInstance=lando-prod-2025\u0026landoCommitID=78769  | Try ]]\n\nDifferential Revision: https://phabricator.services.mozilla.com/D318537",
      "email": "dpop@mozilla.com",
      "hash": "4373a704fa9699d10a6ed280cc692b0874ae58e1",
      "subject": "Bug 2063303 - Migrate 3 TabbedBrowsingTest UI tests to the efficiency framework r=jajohnson"
    },
    "D318538": {
      "author": "Delia Pop",
      "avatar": "https://www.gravatar.com/avatar/9bc6f69101aaf2750dbd3cfc9d6b37d8?d=identicon\u0026s=64",
      "cl": "D318538",
      "clUrl": "https://phabricator.services.mozilla.com/D318538",
      "description": "Convert the four @SmokeTest TextSelectionTest cases onto the ui/efficiency\nframework:\n- verifySelectAllTextOptionTest (TestRail 2326832)\n- verifyPrivateSearchTextTest (TestRail 2326831)\n- verifyCopyPDFTextOptionTest (TestRail 243839)\n- verifySearchPDFTextOptionTest (TestRail 2326836)\n\nAll four are faithful ports; every legacy verify* has a counterpart, so no\nassertions were dropped. The legacy methods are annotated @Converted and keep\nrunning alongside the replacements.\n\nHarness extensions added in service of these tests (all reusable):\n- BrowserPage: web-content long-click + text-selection floating-menu item\n  helpers, display-mode toolbar long-click + paste, tab-counter verify, and a\n  select-then-search helper that confirms a new tab opened.\n- SearchBarComponent: clear button, placeholder verify, edit-mode long-click +\n  paste, and verifyTypedToolbarText (whitespace-normalized, reading both the\n  Text and EditableText semantics of the edit-mode toolbar).\n- HomePage: switchToPrivateBrowsingMode (toggle-and-confirm; robust to a\n  private-mode state leak across tests/runs).\n- Selectors: text-selection context-menu item, display-mode toolbar menu item,\n  a UiObject2 clear button, and Compose content-description tab-counter variants.\n\nThe tab counter is asserted via the Compose content-description rather than the\nUIAutomator accessibility tree: after a text-selection Search opens a new tab\nthe UIAutomator tree lags the Compose tree by several seconds (Compose already\nreads \"Tabs Open: 2\" while UIAutomator still reads 1), which made a\nUIAutomator-based assertion flaky. This mirrors the legacy\nBrowserRobot.verifyTabCounter, which read the counter via Compose.\n\nThe UI tests successfully passed 25x on Firebase.: https://treeherder.mozilla.org/jobs?repo=try\u0026landoInstance=lando-prod-2025\u0026landoCommitID=78881\nAll efficiency UI tests successfully passed 1x on Firebase. https://treeherder.mozilla.org/jobs?repo=try\u0026landoInstance=lando-prod-2025\u0026landoCommitID=78880\n\nDifferential Revision: https://phabricator.services.mozilla.com/D318538",
      "email": "dpop@mozilla.com",
      "hash": "d868655d031556db39e929b870b9d22927f6eeec",
      "subject": "Bug 2063396 - Migrate 4 TextSelectionTest UI tests to the efficiency framework r=jajohnson"
    },
    "D318556": {
      "author": "Dharma Ong",
      "avatar": "https://www.gravatar.com/avatar/0a7381e7eb23f16fd97036b4645ac315?d=identicon\u0026s=64",
      "cl": "D318556",
      "clUrl": "https://phabricator.services.mozilla.com/D318556",
      "description": "Pure file rename (no content change) done as its own commit so git records\na rename rather than a copy, preserving the module's blame and history. The\nbase-class extraction and the new UrlbarInput subclass follow in the next\ncommit.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D318556",
      "email": "dharmaong00@gmail.com",
      "hash": "3f07e97356d2762f35a152a4cd6e0647ea9a2576",
      "subject": "Bug 2061818 - Rename UrlbarInput.mjs to UrlbarInputBase.mjs. r=dao,urlbar-reviewers"
    },
    "D318568": {
      "author": "Beth Rennie",
      "avatar": "https://www.gravatar.com/avatar/8dbfb17ff64ab8886097a36541232064?d=identicon\u0026s=64",
      "cl": "D318568",
      "clUrl": "https://phabricator.services.mozilla.com/D318568",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D318568",
      "email": "beth@brennie.ca",
      "hash": "d893dc7744d3452a07e080ba21fcef5af5c65029",
      "subject": "Bug 2063432 - Document SECURE_FEATURE_IDS r=nimbus-reviewers,aminomancer"
    },
    "D318578": {
      "author": "Maxx Crawford",
      "avatar": "https://www.gravatar.com/avatar/362d6fa2232df934b7129870b2726186?d=identicon\u0026s=64",
      "cl": "D318578",
      "clUrl": "https://phabricator.services.mozilla.com/D318578",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D318578",
      "email": "mcrawford@mozilla.com",
      "hash": "189c9db430cb8ca720f19b18eb256fe9de72231e",
      "subject": "Bug 2062753 - Add a page layout panel to the newtab devtools r=reemhamz"
    },
    "D318596": {
      "author": "Ryan VanderMeulen",
      "avatar": "https://www.gravatar.com/avatar/51823ded02903fa76c961fe2a3c1318a?d=identicon\u0026s=64",
      "cl": "D318596",
      "clUrl": "https://phabricator.services.mozilla.com/D318596",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D318596",
      "email": "rvandermeulen@mozilla.com",
      "hash": "4f39ba8f589a5d5d3d778d6380afd3e19fafcc4a",
      "subject": "Bug 2063464 - Update AndroidX ConstraintLayout-compose to version 1.1.2. r=android-reviewers,adhingra"
    },
    "D318597": {
      "author": "Ryan VanderMeulen",
      "avatar": "https://www.gravatar.com/avatar/51823ded02903fa76c961fe2a3c1318a?d=identicon\u0026s=64",
      "cl": "D318597",
      "clUrl": "https://phabricator.services.mozilla.com/D318597",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D318597",
      "email": "rvandermeulen@mozilla.com",
      "hash": "876f400e16bca731d711e601a2eb64f507d90ef6",
      "subject": "Bug 2063464 - Update AndroidX Appcompat to version 1.8.0. r=android-reviewers,adhingra"
    },
    "D318598": {
      "author": "Ryan VanderMeulen",
      "avatar": "https://www.gravatar.com/avatar/51823ded02903fa76c961fe2a3c1318a?d=identicon\u0026s=64",
      "cl": "D318598",
      "clUrl": "https://phabricator.services.mozilla.com/D318598",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D318598",
      "email": "rvandermeulen@mozilla.com",
      "hash": "b05a44581b6d2a1f4938c52f6788f5ce4537acd9",
      "subject": "Bug 2063464 - Update AndroidX Fragment to version 1.9.0. r=android-reviewers,adhingra"
    },
    "D318599": {
      "author": "Ryan VanderMeulen",
      "avatar": "https://www.gravatar.com/avatar/51823ded02903fa76c961fe2a3c1318a?d=identicon\u0026s=64",
      "cl": "D318599",
      "clUrl": "https://phabricator.services.mozilla.com/D318599",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D318599",
      "email": "rvandermeulen@mozilla.com",
      "hash": "1e47e300cfdaf8f1a7636d7465a9b6947ef05fcc",
      "subject": "Bug 2063464 - Update AndroidX Navigation3 to version 1.1.6. r=android-reviewers,adhingra"
    },
    "D318600": {
      "author": "Ryan VanderMeulen",
      "avatar": "https://www.gravatar.com/avatar/51823ded02903fa76c961fe2a3c1318a?d=identicon\u0026s=64",
      "cl": "D318600",
      "clUrl": "https://phabricator.services.mozilla.com/D318600",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D318600",
      "email": "rvandermeulen@mozilla.com",
      "hash": "e3839b779c59be62178be4f3bd66cc408df9728f",
      "subject": "Bug 2063464 - Update AndroidX Paging to version 3.5.1. r=android-reviewers,adhingra"
    },
    "D318601": {
      "author": "Julian Descottes",
      "avatar": "https://www.gravatar.com/avatar/60dd86ccfd9c63b53e9f2a34b2f48442?d=identicon\u0026s=64",
      "cl": "D318601",
      "clUrl": "https://phabricator.services.mozilla.com/D318601",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D318601",
      "email": "jdescottes@mozilla.com",
      "hash": "d7fb14939ceaecdfa4e2eb92a4efd1103c41c9d1",
      "subject": "Bug 2063335 - [devtools] Fix treeherder link in devtools backward compat test docs r=devtools-reviewers,nchevobbe"
    },
    "D318618": {
      "author": "Emilio Cobos Álvarez",
      "avatar": "https://www.gravatar.com/avatar/1d91d22a4892f16f744b31fd4286144e?d=identicon\u0026s=64",
      "cl": "D318618",
      "clUrl": "https://phabricator.services.mozilla.com/D318618",
      "description": "SkPDFStrike::Make disables bitmaps[1], which would cause us to pass\nFT_LOAD_NO_BITMAP unconditionally.\n\nOlder versions of Freetype will honor the flag even for bitmap-only\nfonts, causing the font load to fail. This was fixed on freetype commit\n4ef8eed11 [2].\n\nIn order to match the newer freetype behavior on older freetype, don't\nspecify FT_LOAD_NO_BITMAP for bitmap-only (!FT_IS_SCALABLE) fonts.\n\n[1]: https://searchfox.org/firefox-main/rev/25d7109bf565c299435dec3dd2b9e79a1ce7c15d/gfx/skia/skia/src/pdf/SkPDFFont.cpp#151,167\n[2]: https://gitlab.freedesktop.org/freetype/freetype/-/commit/4ef8eed11\n\nDifferential Revision: https://phabricator.services.mozilla.com/D318618",
      "email": "emilio@crisal.io",
      "hash": "3944320f40efb3426c887b628a0fed0f1271cadd",
      "subject": "Bug 2058486 - Work around a behavior difference on freetype versions older than 2.14. r=lsalzman"
    },
    "D318639": {
      "author": "Drew Willcoxon",
      "avatar": "https://www.gravatar.com/avatar/fa60148022a230fe1bacc441549b1c66?d=identicon\u0026s=64",
      "cl": "D318639",
      "clUrl": "https://phabricator.services.mozilla.com/D318639",
      "description": "Remove `.urlbarView-row-body-top-no-wrap { min-width: 0 }` so titles don't\noverflow too early.\n\nThat rule doesn't seem to be necessary. The width and overflow state of\n`.urlbarView-row-body-top-no-wrap` and its descendents still work correctly. It\ndates all the way back to best-match rows in D137097 bug 1752251 [1]. Best-match\nrows became rich-suggestion rows which became the standard row in Nova.\n\n[1] https://searchfox.org/firefox-main/rev/79d36728c2a8fc232aa953744aa31cdb4cf1503c/browser/themes/shared/urlbarView.inc.css#718\n\nDifferential Revision: https://phabricator.services.mozilla.com/D318639",
      "email": "adw@mozilla.com",
      "hash": "796c4c6ba6b3b1b855d45a826c7d15be3ac71c80",
      "subject": "Bug 2063457 - [Nova] Remove min-width on `.urlbarView-row-body-top-no-wrap` so titles don't overflow too early. r=dao,desktop-theme-reviewers,urlbar-reviewers"
    },
    "D318645": {
      "author": "Ryan VanderMeulen",
      "avatar": "https://www.gravatar.com/avatar/51823ded02903fa76c961fe2a3c1318a?d=identicon\u0026s=64",
      "cl": "D318645",
      "clUrl": "https://phabricator.services.mozilla.com/D318645",
      "description": "Picks up a consumer ProGuard rule that stops R8 from horizontally merging distinct\nThrowable subclasses, which previously collapsed unrelated custom exceptions into a\nsingle runtime type and produced incorrect issue titles and grouping in Sentry.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D318645",
      "email": "rvandermeulen@mozilla.com",
      "hash": "57a0001bce3dcc00d8b13695350066588f634fbd",
      "subject": "Bug 2063498 - Update Sentry to version 8.53.0. r=android-reviewers,adhingra"
    },
    "D318650": {
      "author": "Nina Pypchenko",
      "avatar": "https://www.gravatar.com/avatar/d4af23165fd08129f80a4a6aef515048?d=identicon\u0026s=64",
      "cl": "D318650",
      "clUrl": "https://phabricator.services.mozilla.com/D318650",
      "description": "Bug 2025793 changed the newtab bundle and CSS so the build now creates them\nand Git ignores them, so they are no longer saved in the repository. Remove\nthem from BUNDLE_FILES in tools/lint/hooks_newtab.py and keep only\nprerendered/activity-stream.html, which Git still tracks.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D318650",
      "email": "npypchenko@mozilla.com",
      "hash": "7baa0ba030d6d040b3f8d046129fe748c383e79a",
      "subject": "Bug 2063501 - Remove the built bundle files from the newtab pre-commit hook r=mconley"
    },
    "D318673": {
      "author": "Lars Eggert",
      "avatar": "https://www.gravatar.com/avatar/e2e26bbe3cdc5a67429cb25e2557fd11?d=identicon\u0026s=64",
      "cl": "D318673",
      "clUrl": "https://phabricator.services.mozilla.com/D318673",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D318673",
      "email": "lars@eggert.org",
      "hash": "6cb06427f41e8821ad6d936ce4fb5fa26a26bdd5",
      "subject": "Bug 2063535: Fix spelling: porcess -\u003e process r=valentin,necko-reviewers"
    },
    "D318674": {
      "author": "serge-sans-paille",
      "avatar": "https://www.gravatar.com/avatar/9cdfdfc05249440f57269a0d26487253?d=identicon\u0026s=64",
      "cl": "D318674",
      "clUrl": "https://phabricator.services.mozilla.com/D318674",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D318674",
      "email": "sguelton@mozilla.com",
      "hash": "befc0205f0a35221f19d414fda9c1788f3d38372",
      "subject": "Bug 2063534 - Replace error-prone memcpy with equivalent std::copy calls r=xpcom-reviewers,emilio"
    },
    "D318683": {
      "author": "Alexandra Borovova",
      "avatar": "https://www.gravatar.com/avatar/b5f1ef97b56e8d368128ed4a4206a6ff?d=identicon\u0026s=64",
      "cl": "D318683",
      "clUrl": "https://phabricator.services.mozilla.com/D318683",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D318683",
      "email": "aborovova@mozilla.com",
      "hash": "229a1437f5fc025a38b496fcc632c009708b1d7e",
      "subject": "Bug 2063453 - Update metadata for clipboard-apis/permissions-policy/clipboard-read/clipboard-read-enabled-on-self-origin-by-permissions-policy.tentative.https.sub.html."
    },
    "D318684": {
      "author": "Henri Sivonen",
      "avatar": "https://www.gravatar.com/avatar/66e59bea2fca6cc5d75e977b6b64be7a?d=identicon\u0026s=64",
      "cl": "D318684",
      "clUrl": "https://phabricator.services.mozilla.com/D318684",
      "description": "Upstream issue: https://github.com/unicode-org/icu4x/issues/8296\n\nDifferential Revision: https://phabricator.services.mozilla.com/D318684",
      "email": "hsivonen@hsivonen.fi",
      "hash": "f85227cec4becbad14c9673bf2101b9d6a19dcf3",
      "subject": "Bug 2059047 - Reset looked_ahead when resetting drain_from_upcoming. r=dminor"
    },
    "D318689": {
      "author": "Julian Descottes",
      "avatar": "https://www.gravatar.com/avatar/60dd86ccfd9c63b53e9f2a34b2f48442?d=identicon\u0026s=64",
      "cl": "D318689",
      "clUrl": "https://phabricator.services.mozilla.com/D318689",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D318689",
      "email": "jdescottes@mozilla.com",
      "hash": "37c917924c7e2e16a845978729514cd2e247ddbd",
      "subject": "Bug 2063549 - [devtools] Early ok() in devtools-backward-compat tests when release channel is lagging by 1 version r=devtools-reviewers,nchevobbe"
    },
    "D318693": {
      "author": "longsonr",
      "avatar": "https://www.gravatar.com/avatar/c5d912dac5c74b47bbaff7164f5f8bb8?d=identicon\u0026s=64",
      "cl": "D318693",
      "clUrl": "https://phabricator.services.mozilla.com/D318693",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D318693",
      "email": "longsonr@gmail.com",
      "hash": "288cc902d3e25b4b85bbe872e077382ace3db840",
      "subject": "Bug 2063537 - Simplify Maybe usage r=emilio"
    },
    "D318694": {
      "author": "longsonr",
      "avatar": "https://www.gravatar.com/avatar/c5d912dac5c74b47bbaff7164f5f8bb8?d=identicon\u0026s=64",
      "cl": "D318694",
      "clUrl": "https://phabricator.services.mozilla.com/D318694",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D318694",
      "email": "longsonr@gmail.com",
      "hash": "62e02c60f21e2ac405f24dc407c691867055f2e6",
      "subject": "Bug 2063531 - Use matrix.Inverse rather than matrix.Invert when it is simpler r=firefox-svg-reviewers,dholbert"
    },
    "D318710": {
      "author": "Alexandra Borovova",
      "avatar": "https://www.gravatar.com/avatar/b5f1ef97b56e8d368128ed4a4206a6ff?d=identicon\u0026s=64",
      "cl": "D318710",
      "clUrl": "https://phabricator.services.mozilla.com/D318710",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D318710",
      "email": "aborovova@mozilla.com",
      "hash": "ce6988e577dd7ab298ea0b4d6dfd1921b4d5cea8",
      "subject": "Bug 2063581 - Use the correct value in metadata for /fetch/local-network-access/service-worker.tentative.https.html."
    },
    "D318712": {
      "author": "Henri Sivonen",
      "avatar": "https://www.gravatar.com/avatar/66e59bea2fca6cc5d75e977b6b64be7a?d=identicon\u0026s=64",
      "cl": "D318712",
      "clUrl": "https://phabricator.services.mozilla.com/D318712",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D318712",
      "email": "hsivonen@hsivonen.fi",
      "hash": "b3b09e0841b3ca04d004a600b800b64674c75501",
      "subject": "Bug 2056118 - Step back in numeric mode if identical prefix ends with digit but only one of left or right starts with digit. r=dminor"
    },
    "D318716": {
      "author": "Updatebot",
      "avatar": "https://www.gravatar.com/avatar/cd270ac15e761e2d4c08e9c9b7cfecca?d=identicon\u0026s=64",
      "cl": "D318716",
      "clUrl": "https://phabricator.services.mozilla.com/D318716",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D318716",
      "email": "updatebot@mozilla.com",
      "hash": "b7c283fcfdea97458f7aecbc2a5fe078ee3dc60a",
      "subject": "Bug 2063588 - Update android nightly application-services version bump to 6c3d4cd1b6c488e8b82959caee30d77e152e56ce r=dmeehan"
    },
    "D318717": {
      "author": "AndiAJ",
      "avatar": "https://www.gravatar.com/avatar/b4ea35e4d5d0c51e2affc0dc2515853c?d=identicon\u0026s=64",
      "cl": "D318717",
      "clUrl": "https://phabricator.services.mozilla.com/D318717",
      "description": "Both UI tests successfully passed 25x on Firebase ✅\nAll UI tests successfully passed 1x on Firebase ✅\n\nDifferential Revision: https://phabricator.services.mozilla.com/D318717",
      "email": "andiaj@users.noreply.github.com",
      "hash": "76372ab5a3e755fd63147a53a9b7d32766f535cf",
      "subject": "Bug 2063262 - Migrate the remaining credit card autofill related UI tests to the efficiency framework r=jajohnson"
    },
    "D318725": {
      "author": "Ryan VanderMeulen",
      "avatar": "https://www.gravatar.com/avatar/51823ded02903fa76c961fe2a3c1318a?d=identicon\u0026s=64",
      "cl": "D318725",
      "clUrl": "https://phabricator.services.mozilla.com/D318725",
      "description": "On the release channel the geckoview-lite fat AAR build binds to GeckoView's api variant, which hides\nGeckoView's implementation dependencies, so the examples compile against the older androidx versions that\nappcompat asks for. The lite dependency cache never holds those: in the toolchain build the same project\ndependency binds to a runtime variant instead, GeckoView's own androidx.core wins the conflict, and nothing\never resolves the older ones. Which variant is chosen comes down to the capability GeckoView derives from\nits artifact id, and that only matches what a project dependency asks for on release, lite and fat AAR\ntogether, which is why nothing else sees this.\n\nThe full artifact does hold those versions, incidentally, because fenix and android-components resolve them\nin passes of their own. It is a superset of the lite artifact, so the lite builds lose nothing by fetching\nit, at the cost of roughly half a gigabyte more per fetch.\n\nThe lite toolchain keeps its definition, now unused, while we work out whether a second dependency cache\nearns its keep.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D318725",
      "email": "rvandermeulen@mozilla.com",
      "hash": "8248585832bcde2ba7e35fc00c058b9c300af7cb",
      "subject": "Bug 2063115 - Fetch the full Gradle dependency cache for the geckoview-lite builds. r=nalexander"
    },
    "D318729": {
      "author": "Jonathan Kew",
      "avatar": "https://www.gravatar.com/avatar/3982a397275d6e1f078a70157c2dcb8a?d=identicon\u0026s=64",
      "cl": "D318729",
      "clUrl": "https://phabricator.services.mozilla.com/D318729",
      "description": "Some of its callers check for an empty result, and reject it,\nbut this isn't done consistently. Instead of making callers check,\ntreat empty strings as missing in ReadCanonicalName and have it\nreturn failure.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D318729",
      "email": "jkew@mozilla.com",
      "hash": "7bed5eeb52810c6d62aa80f20c4d47e9bd7c33d1",
      "subject": "Bug 2062792 - Make gfxFontUtils::ReadCanonicalName treat empty name strings as missing. r=gfx-reviewers,lsalzman"
    },
    "D318731": {
      "author": "AndiAJ",
      "avatar": "https://www.gravatar.com/avatar/b4ea35e4d5d0c51e2affc0dc2515853c?d=identicon\u0026s=64",
      "cl": "D318731",
      "clUrl": "https://phabricator.services.mozilla.com/D318731",
      "description": "The test tried to tap the \"Go to target page\" link the instant the page loaded, but sometimes the link wasn't clickable yet, so the tap missed and the test failed.\nThe test now waits for the link to actually be there before tapping it.\n\nThe UI test successfully passed 50x on Firebase ✅\n\nDifferential Revision: https://phabricator.services.mozilla.com/D318731",
      "email": "andiaj@users.noreply.github.com",
      "hash": "e2b5e1810be36702857c03ac997b9d14fd22c582",
      "subject": "Bug 2063613 - Fix verifyTheMainMenuBackButtonLongClickFromCustomTabTest efficiency UI test r=jajohnson"
    },
    "D318740": {
      "author": "Maxx Crawford",
      "avatar": "https://www.gravatar.com/avatar/362d6fa2232df934b7129870b2726186?d=identicon\u0026s=64",
      "cl": "D318740",
      "clUrl": "https://phabricator.services.mozilla.com/D318740",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D318740",
      "email": "mcrawford@mozilla.com",
      "hash": "2e1364689126e9b7796e609e1d9e869e881e32f5",
      "subject": "Bug 2063604 - Keep the per-widget size menu when side-by-side is active r=thecount"
    },
    "D318741": {
      "author": "Janika",
      "avatar": "https://www.gravatar.com/avatar/d7add56f60d7f21ede4174cc11ed2b5d?d=identicon\u0026s=64",
      "cl": "D318741",
      "clUrl": "https://phabricator.services.mozilla.com/D318741",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D318741",
      "email": "jneuberger@mozilla.com",
      "hash": "b0a8b5d5bf7a213c37d666863e0bc0b888247635",
      "subject": "Bug 2059713 - P2. Support DisableAppUpdate, AppAutoUpdate, ManualAppUpdateOnly in firefox_enterprise r=mkaply DONTBUILD"
    },
    "a6f03e6e5e1a": {
      "author": "Lando",
      "avatar": "https://www.gravatar.com/avatar/e3fc5c639ea50123800e4b7471f88787?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "# ignore-this-changeset",
      "email": "lando@lando.moz.tools",
      "hash": "a6f03e6e5e1a57d34860c229a430572f63579f47",
      "subject": "Bug 1975760: apply code formatting via Lando"
    },
    "cb53658daf79": {
      "author": "agoloman",
      "avatar": "https://www.gravatar.com/avatar/cd12c4a70c28dead95af1f72ff892316?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "This reverts commit 055aad1198fb836f201039e40cfe2a8ca5c5184d.",
      "email": "agoloman@mozilla.com",
      "hash": "cb53658daf79838b4701b06d08bac055679a4349",
      "subject": "Revert \"Bug 2041622 - Handle substitution functions in InspectorUtils.getComputationSteps. r=firefox-style-system-reviewers,layout-reviewers,emilio.\" for causing bc failures @browser_ImageDocument_svg_zoom.js. IGNORE BAD COMMIT MESSAGES"
    },
    "d36757a8f069": {
      "author": "agoloman",
      "avatar": "https://www.gravatar.com/avatar/cd12c4a70c28dead95af1f72ff892316?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "This reverts commit 3fb049de28cea67a1b6338629fef12e67a0b9442.\n\nRevert \"Bug 2059144 - Part 3: Add nsIPrincipal::IsAddonPrincipal r=robwu,asuth,dom-worker-reviewers,ckerschb\"\n\nThis reverts commit a30c3249cd39f4f44d3707d3861aa4a01212d0ab.\n\nRevert \"Bug 2059144 - Part 2: Add ChromeUtils.validateServiceWorkerScope r=asuth,dom-worker-reviewers\"\n\nThis reverts commit 17d521a2160bda75f18d6f4fe06ff0726d146ddb.\n\nRevert \"Bug 2059144 - Part 1: Validate principal and scope for push r=asuth,tschuster,nika\"\n\nThis reverts commit 118ce57a07224f1e2ff7583dee8031c6e821c72e.",
      "email": "agoloman@mozilla.com",
      "hash": "d36757a8f069d32073c8cca018625057cf1f4bcc",
      "subject": "Revert \"Bug 2059144: apply code formatting via Lando\" for causing wpt failures @principal.https.window.html. IGNORE BAD COMMIT MESSAGES"
    },
    "e4cdb382b602": {
      "author": "rperta",
      "avatar": "https://www.gravatar.com/avatar/95787d55656c719bd5b0c6754f5449a3?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "This reverts commit e80c05750e76126daba95fd02b7938dc9a038968.",
      "email": "rperta@mozilla.com",
      "hash": "e4cdb382b6029457b492fdc13c8e38f616b1f1b7",
      "subject": "Revert \"Bug 2054044 - Vendor static-dumps for doh-config and doh-providers r=necko-reviewers,jesup\" for causing bc failures at browser_aboutNetError_telemetry.js"
    },
    "f83305d74dd6": {
      "author": "Lando",
      "avatar": "https://www.gravatar.com/avatar/e3fc5c639ea50123800e4b7471f88787?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "# ignore-this-changeset",
      "email": "lando@lando.moz.tools",
      "hash": "f83305d74dd629c9c71407bf355e087f946fad14",
      "subject": "Bug 2022604, 2025883: apply code formatting via Lando"
    }
  },
  "date": "2026-08-14",
  "days": 1,
  "generatedAt": "2026-08-14T22:07:23Z",
  "markdown": "## Highlights\n- **Web Platform** Firefox landed the Container Timing API behind a pref and enabled its web platform tests, adding a new performance measurement surface for developers working with container-based rendering. [Phab D309593](https://phabricator.services.mozilla.com/D309593) [Phab D309595](https://phabricator.services.mozilla.com/D309595)\n- **V8** Ion and Warp gained a full generator and async resume pipeline, a substantial JIT compiler step toward faster resumed async functions and generators. [Phab D317499](https://phabricator.services.mozilla.com/D317499) [Phab D317506](https://phabricator.services.mozilla.com/D317506)\n- **Perf** JPEG downscaling now uses libjpeg-turbo IDCT scaling, cutting decode work for smaller rendered images. [Phab D295157](https://phabricator.services.mozilla.com/D295157)\n- **Security** Push handling now validates principal and service worker scope more strictly, and adds addon-principal plumbing to lock down scope checks. [Phab D315347](https://phabricator.services.mozilla.com/D315347) [Phab D316038](https://phabricator.services.mozilla.com/D316038) [Phab D317509](https://phabricator.services.mozilla.com/D317509)\n- **Networking** Happy Eyeballs now revalidates stale DNS answers and exposes stale and revalidation state in profiler markers, tightening connection behavior and observability. [Phab D317012](https://phabricator.services.mozilla.com/D317012) [Phab D317089](https://phabricator.services.mozilla.com/D317089)\n- **UI** Firefox desktop kept shipping Nova polish across the urlbar, result menus, private browsing icons, and button tokens, with several visible fixes for wrapping, contrast, and overflow. [Phab D318362](https://phabricator.services.mozilla.com/D318362) [Phab D318639](https://phabricator.services.mozilla.com/D318639) [Phab D312188](https://phabricator.services.mozilla.com/D312188)\n- **Build** Windows post-update work was heavily refactored into elevated, non-elevated, current-user, and target-specific paths, making updater behavior more explicit and testable. [Phab D278328](https://phabricator.services.mozilla.com/D278328) [Phab D309462](https://phabricator.services.mozilla.com/D309462) [Phab D295086](https://phabricator.services.mozilla.com/D295086)\n- **Mobile** Android picked up a broad platform refresh with new AndroidX versions, a newer Sentry, and application-services bump, alongside user-facing work in default browser prompts and tracker UI. [Phab D318597](https://phabricator.services.mozilla.com/D318597) [Phab D318645](https://phabricator.services.mozilla.com/D318645) [Phab D318095](https://phabricator.services.mozilla.com/D318095)\n- **Privacy** Enterprise and product controls expanded around updates and new tab widgets, while IP Protection was hidden when localization is incomplete to avoid exposing unfinished privacy UI. [Phab D318741](https://phabricator.services.mozilla.com/D318741) [Phab D316903](https://phabricator.services.mozilla.com/D316903) [Phab D312985](https://phabricator.services.mozilla.com/D312985)\n\n## What landed by area\n\n### JavaScript engine and WebAssembly\n- **V8** Ion now assigns contiguous resume indices for yield and await ops, simplifying generator and async resume handling. [Phab D317499](https://phabricator.services.mozilla.com/D317499)\n- **V8** Ion skips the interrupt check during overrecursion handling for generator resume, shaving work off resumed execution. [Phab D317500](https://phabricator.services.mozilla.com/D317500)\n- **V8** WarpBuilder now understands JSOp::IsGenClosing for generator control flow. [Phab D317501](https://phabricator.services.mozilla.com/D317501)\n- **V8** Ion gained new MIR instructions for generator resume execution. [Phab D317502](https://phabricator.services.mozilla.com/D317502)\n- **V8** Baseline reworked mid-generator-resume bailouts to support the new resume path. [Phab D317503](https://phabricator.services.mozilla.com/D317503)\n- **V8** A new bytecode analysis pass determines generator and async resume dispatch structure. [Phab D317504](https://phabricator.services.mozilla.com/D317504)\n- **V8** WarpBuilder now builds MIR for generator and async resume paths. [Phab D317505](https://phabricator.services.mozilla.com/D317505)\n- **V8** Ion can now resume suspended generators and async functions directly. [Phab D317506](https://phabricator.services.mozilla.com/D317506)\n- **V8** MGeneratorReturn was removed as part of the resume-path cleanup. [Phab D317507](https://phabricator.services.mozilla.com/D317507)\n- **V8** Tests landed to lock in the new generator and async resume pipeline. [Phab D317508](https://phabricator.services.mozilla.com/D317508)\n- **V8** ProxyObject::renew now works even when called on dying objects. [Phab D318478](https://phabricator.services.mozilla.com/D318478)\n- **V8** emit_Resume can hoist its barrier check, trimming overhead in resumed execution. [Phab D318522](https://phabricator.services.mozilla.com/D318522)\n- **V8** WasmPromisingFunction now preserves pending exceptions across promise creation. [Phab D315363](https://phabricator.services.mozilla.com/D315363)\n- **V8** GC now keeps atom references alive for symbol weak edges, with a testcase to pin the behavior. [Phab D316060](https://phabricator.services.mozilla.com/D316060) [Phab D316061](https://phabricator.services.mozilla.com/D316061)\n- **V8** loong64 codegen got a 7-part cleanup and optimization pass covering naming, assertions, sign extension, immediate handling, shortcuts, and test coverage. [Phab D318415](https://phabricator.services.mozilla.com/D318415) [Phab D318416](https://phabricator.services.mozilla.com/D318416) [Phab D318417](https://phabricator.services.mozilla.com/D318417) [Phab D318418](https://phabricator.services.mozilla.com/D318418) [Phab D318419](https://phabricator.services.mozilla.com/D318419) [Phab D318420](https://phabricator.services.mozilla.com/D318420) [Phab D318421](https://phabricator.services.mozilla.com/D318421)\n\n### Networking, security, and platform hardening\n- **Networking** HTTP chunked parsing now rejects NUL bytes in trailer and chunk-size lines. [Phab D317742](https://phabricator.services.mozilla.com/D317742)\n- **Networking** nsSimpleURI deserialization now checks its return value instead of assuming success. [Phab D317822](https://phabricator.services.mozilla.com/D317822)\n- **Networking** Happy Eyeballs now has a test ensuring stale DNS answers are revalidated. [Phab D317011](https://phabricator.services.mozilla.com/D317011)\n- **Networking** Happy Eyeballs now revalidates stale DNS answers during connection racing. [Phab D317012](https://phabricator.services.mozilla.com/D317012)\n- **Networking** Profiler markers now surface stale and revalidation state for Happy Eyeballs decisions. [Phab D317089](https://phabricator.services.mozilla.com/D317089)\n- **Security** Push now validates principal and scope before proceeding. [Phab D315347](https://phabricator.services.mozilla.com/D315347)\n- **Security** ChromeUtils gained validateServiceWorkerScope to centralize service worker scope checks. [Phab D316038](https://phabricator.services.mozilla.com/D316038)\n- **Security** nsIPrincipal gained IsAddonPrincipal for tighter principal-type checks. [Phab D317509](https://phabricator.services.mozilla.com/D317509)\n- **Security** BrowserParent::RecvSynthesizeNativeMouseMove now has a guard to reject unsafe calls. [Phab D316452](https://phabricator.services.mozilla.com/D316452)\n- **Security** Workflows now pin actions/create-github-app-token to a hash for safer CI execution. [Phab D318378](https://phabricator.services.mozilla.com/D318378)\n- **Privacy** IP Protection UI is now hidden when translations are incomplete, preventing partial rollout of privacy-facing controls. [Phab D312985](https://phabricator.services.mozilla.com/D312985)\n- **Privacy** SECURE_FEATURE_IDS is now documented for Nimbus and experiment safety. [Phab D318568](https://phabricator.services.mozilla.com/D318568)\n- **Privacy** Privacy-widget Monitor and Relay CTAs now carry UTM parameters for attribution. [Phab D317718](https://phabricator.services.mozilla.com/D317718)\n\n### Layout, graphics, rendering, and media\n- **Rendering** Container Timing centralized reduced-precision timestamp conversion on Performance. [Phab D309591](https://phabricator.services.mozilla.com/D309591)\n- **Rendering** Container Timing now computes rect and region areas in 64-bit to avoid overflow. [Phab D309592](https://phabricator.services.mozilla.com/D309592)\n- **Rendering** Container Timing API was implemented behind a pref. [Phab D309593](https://phabricator.services.mozilla.com/D309593)\n- **Rendering** Container Timing paints are now recorded from the layout paint pipeline. [Phab D309594](https://phabricator.services.mozilla.com/D309594)\n- **Rendering** Container Timing web platform tests are now enabled. [Phab D309595](https://phabricator.services.mozilla.com/D309595)\n- **Perf** JPEG downscaling now uses libjpeg-turbo IDCT scaling to reduce decode cost. [Phab D295157](https://phabricator.services.mozilla.com/D295157)\n- **Rendering** Hover state now updates on pointer events as well as mouse events, improving pointer-model correctness. [Phab D318502](https://phabricator.services.mozilla.com/D318502)\n- **Rendering** nsNativeTheme::IsDarkBackground now owns the dark-background check. [Phab D318487](https://phabricator.services.mozilla.com/D318487)\n- **Rendering** ChromeUtils.isDarkBackground() now trusts an explicit color-scheme. [Phab D318486](https://phabricator.services.mozilla.com/D318486)\n- **Rendering** Transform matrix flags were cleaned up with enum class based flags and typed parameters. [Phab D318367](https://phabricator.services.mozilla.com/D318367) [Phab D318368](https://phabricator.services.mozilla.com/D318368)\n- **Rendering** gfxFontUtils::ReadCanonicalName now treats empty font name strings as missing. [Phab D318729](https://phabricator.services.mozilla.com/D318729)\n- **Rendering** A workaround landed for older freetype versions before 2.14. [Phab D318618](https://phabricator.services.mozilla.com/D318618)\n- **Rendering** OTS got an overflow-check patch for ParseVariationDataSubtable. [Phab D318072](https://phabricator.services.mozilla.com/D318072)\n- **Rendering** modules/freetype2 vendor logic now preserves local Mozilla changes. [Phab D318077](https://phabricator.services.mozilla.com/D318077)\n- **GPU** Firefox no longer deletes borrowed MozFramebuffer color backings. [Phab D318191](https://phabricator.services.mozilla.com/D318191)\n- **GPU** RendererOGL now checks for device reset during UpdateAndRender when taking screenshots. [Phab D318375](https://phabricator.services.mozilla.com/D318375)\n- **Media** WebCodecs tests expanded for VideoFrame.copyTo() RGB stride handling. [Phab D290711](https://phabricator.services.mozilla.com/D290711) [Phab D291010](https://phabricator.services.mozilla.com/D291010)\n- **Media** WebCodecs tests expanded for VideoFrame.copyTo() YUV stride handling. [Phab D290712](https://phabricator.services.mozilla.com/D290712)\n- **Media** AudioData.copyTo() now has broader tests for interleaved, planar, oversized-buffer, and frame-offset handling. [Phab D290713](https://phabricator.services.mozilla.com/D290713) [Phab D290714](https://phabricator.services.mozilla.com/D290714) [Phab D293636](https://phabricator.services.mozilla.com/D293636)\n- **Rendering** CSSSkew.toMatrix() WPT tolerance was relaxed to match implementation reality. [Phab D314878](https://phabricator.services.mozilla.com/D314878)\n- **Rendering** SVG matrix code now uses matrix.Inverse where it is simpler. [Phab D318694](https://phabricator.services.mozilla.com/D318694)\n- **Refactor** Maybe usage was simplified in related rendering code. [Phab D318693](https://phabricator.services.mozilla.com/D318693)\n- **Rendering** Tainted-range tracking is now relative to the substituted value. [Phab D318245](https://phabricator.services.mozilla.com/D318245)\n\n### Firefox desktop UI, tabs, urlbar, and new tab\n- **UI** Firefox now shows network status again when switching back to a tab that is still loading. [Phab D316891](https://phabricator.services.mozilla.com/D316891)\n- **UI** The urlbar placeholder updates immediately when it names a search engine. [Phab D317425](https://phabricator.services.mozilla.com/D317425)\n- **UI** UrlbarInput was split into a base class as groundwork for cleaner urlbar architecture. [Phab D318120](https://phabricator.services.mozilla.com/D318120)\n- **Refactor** UrlbarInput.mjs was renamed to UrlbarInputBase.mjs. [Phab D318556](https://phabricator.services.mozilla.com/D318556)\n- **UI** Urlbar rows now stay highlighted while the result menu is open. [Phab D316761](https://phabricator.services.mozilla.com/D316761)\n- **UI** Nova removed a min-width constraint so wrapped urlbar titles do not overflow too early. [Phab D318639](https://phabricator.services.mozilla.com/D318639)\n- **UI** Nova keeps the title separator visible in wrapped sponsored rows. [Phab D318432](https://phabricator.services.mozilla.com/D318432)\n- **A11y** Nova result menus and switchers now get a high-contrast style. [Phab D312188](https://phabricator.services.mozilla.com/D312188)\n- **UI** Nova button design tokens were synced from Figma. [Phab D318362](https://phabricator.services.mozilla.com/D318362)\n- **UI** Android design tokens were updated to use surfaceBright. [Phab D316277](https://phabricator.services.mozilla.com/D316277)\n- **UI** Private Browsing mode app icons were updated for Nova. [Phab D300080](https://phabricator.services.mozilla.com/D300080)\n- **UI** The bookmarks toolbar no longer hides items based on a stale visible-item count. [Phab D317524](https://phabricator.services.mozilla.com/D317524)\n- **UI** Related-tab insertion now respects insertRelatedAfterCurrent being false. [Phab D315779](https://phabricator.services.mozilla.com/D315779)\n- **UI** Dragging a tab group now expands it based on the group's own state. [Phab D317205](https://phabricator.services.mozilla.com/D317205)\n- **UI** Split view now hides container elements that only contain hidden tabs. [Phab D312547](https://phabricator.services.mozilla.com/D312547)\n- **UI** Customize Sidebar gained an open-tabs hover preview setting. [Phab D318262](https://phabricator.services.mozilla.com/D318262)\n- **UI** New Tab gained a side-by-side layout experiment. [Phab D318483](https://phabricator.services.mozilla.com/D318483)\n- **UI** Side-by-side mode now keeps the per-widget size menu available. [Phab D318740](https://phabricator.services.mozilla.com/D318740)\n- **DevTools** New Tab devtools gained a page layout panel. [Phab D318578](https://phabricator.services.mozilla.com/D318578)\n- **UI** AI action confirmation now has a fallback when scroll-driven animations are unavailable. [Phab D318536](https://phabricator.services.mozilla.com/D318536)\n- **UI** Smart Window schedulers now start when first-run onboarding completes. [Phab D317194](https://phabricator.services.mozilla.com/D317194)\n- **UI** AITab generation code landed, adding the core implementation for AI-generated tabs. [Phab D314785](https://phabricator.services.mozilla.com/D314785)\n- **UI** The tab context line fade now uses background instead of mask for more robust styling. [Phab D316573](https://phabricator.services.mozilla.com/D316573)\n\n### Storage, quota, cache, and data plumbing\n- **Perf** Cache schema initialization errors now emit telemetry for failure analysis. [Phab D318029](https://phabricator.services.mozilla.com/D318029)\n- **Refactor** Cache initialization now reports corruption when it fails during quota initialization. [Phab D313683](https://phabricator.services.mozilla.com/D313683)\n- **Security** mDBLock ownership is now tracked and Firefox will crash if it stays unused, flushing out lock misuse early. [Phab D318496](https://phabricator.services.mozilla.com/D318496)\n- **Refactor** EncryptedRandomAccessBlock was refactored as part of storage stream work. [Phab D310186](https://phabricator.services.mozilla.com/D310186)\n- **Perf** ZeroExtendTo now avoids unnecessary block saves. [Phab D310187](https://phabricator.services.mozilla.com/D310187)\n- **Storage** EncryptedRandomAccessStream now supports SetEOF. [Phab D310188](https://phabricator.services.mozilla.com/D310188)\n- **Storage** EncryptedRandomAccessStream serialization was implemented. [Phab D310747](https://phabricator.services.mozilla.com/D310747)\n- **Storage** Quota Manager now checks for origin accounting inconsistencies and triggers a full rescan when needed. [Phab D316002](https://phabricator.services.mozilla.com/D316002)\n- **Refactor** Randomized arena IDs were removed from the allocator. [Phab D316694](https://phabricator.services.mozilla.com/D316694)\n\n### Extensions, enterprise, and Firefox platform features\n- **UI** The unified extensions panel now hides \"Discover extensions\" when discopane is disabled. [Phab D318247](https://phabricator.services.mozilla.com/D318247)\n- **UI** \"Add new container\" from the context menu now works in the Library window and old sidebar. [Phab D317439](https://phabricator.services.mozilla.com/D317439)\n- **Enterprise** FirefoxHome.Widgets policy was added for new tab widgets. [Phab D316903](https://phabricator.services.mozilla.com/D316903)\n- **Enterprise** firefox_enterprise now supports DisableAppUpdate, AppAutoUpdate, and ManualAppUpdateOnly. [Phab D318741](https://phabricator.services.mozilla.com/D318741)\n- **UI** about:pdf files are now picked in the parent process. [Phab D318472](https://phabricator.services.mozilla.com/D318472)\n- **Refactor** WebRequest.sys.mjs now uses a local needTracing variable in addOrRemove. [Phab D316366](https://phabricator.services.mozilla.com/D316366)\n- **Web Platform** SmartBlock now preserves links when the embed container itself is an anchor element. [Phab D318397](https://phabricator.services.mozilla.com/D318397)\n- **Refactor** LaunchOnLogin got a new macOS interface. [Phab D313482](https://phabricator.services.mozilla.com/D313482)\n- **Refactor** Existing LaunchOnLogin code was ported to the new API. [Phab D313483](https://phabricator.services.mozilla.com/D313483)\n- **Refactor** Launch on Login prefs were updated to use the new API. [Phab D313484](https://phabricator.services.mozilla.com/D313484)\n- **Refactor** Remaining LaunchOnLogin code was moved over to the new API. [Phab D313485](https://phabricator.services.mozilla.com/D313485)\n- **Enterprise** LaunchOnLogin enterprise policy support was updated for the new API. [Phab D316049](https://phabricator.services.mozilla.com/D316049)\n\n### Android and mobile\n- **Mobile** Default browser prompt gating moved into DefaultBrowserPromptManager. [Phab D318095](https://phabricator.services.mozilla.com/D318095)\n- **Mobile** Blocked-trackers screens now show the URL and a one-line title across all screens. [Phab D318413](https://phabricator.services.mozilla.com/D318413)\n- **Mobile** Account scope access now uses the FxaClient and FxaAccount variant. [Phab D317423](https://phabricator.services.mozilla.com/D317423)\n- **Mobile** AndroidX Appcompat was updated to 1.8.0. [Phab D318597](https://phabricator.services.mozilla.com/D318597)\n- **Mobile** AndroidX Fragment was updated to 1.9.0. [Phab D318598](https://phabricator.services.mozilla.com/D318598)\n- **Mobile** AndroidX Navigation3 was updated to 1.1.6. [Phab D318599](https://phabricator.services.mozilla.com/D318599)\n- **Mobile** AndroidX Paging was updated to 3.5.1. [Phab D318600](https://phabricator.services.mozilla.com/D318600)\n- **Mobile** AndroidX ConstraintLayout-compose was updated to 1.1.2. [Phab D318596](https://phabricator.services.mozilla.com/D318596)\n- **Mobile** Sentry was updated to 8.53.0. [Phab D318645](https://phabricator.services.mozilla.com/D318645)\n- **Mobile** Nightly Android application-services was bumped to 6c3d4cd1b6c488e8b82959caee30d77e152e56ce. [Phab D318716](https://phabricator.services.mozilla.com/D318716)\n\n### Tooling, build, updater, and test infrastructure\n- **Build** geckoview-lite builds now fetch the full Gradle dependency cache. [Phab D318725](https://phabricator.services.mozilla.com/D318725)\n- **Build** Searchfox Rust SCIP indexing now uses the latest rust-analyzer release. [Phab D315641](https://phabricator.services.mozilla.com/D315641)\n- **Build** Mozsearch's Clang plugin was updated for Clang 22 fixes. [Phab D318476](https://phabricator.services.mozilla.com/D318476)\n- **Build** gn_processor.py now generates separate configs for macOS and iOS. [Phab D313443](https://phabricator.services.mozilla.com/D313443)\n- **Build** Static-analysis default state on Windows was cleaned up across chrome, browser, and docshell. [Phab D311064](https://phabricator.services.mozilla.com/D311064) [Phab D311065](https://phabricator.services.mozilla.com/D311065) [Phab D311066](https://phabricator.services.mozilla.com/D311066)\n- **Build** The updater now distinguishes one-user installs from whole-installation post-update flows. [Phab D278328](https://phabricator.services.mozilla.com/D278328)\n- **Build** The post-updater now chooses different functions based on /PostUpdateTarget. [Phab D295084](https://phabricator.services.mozilla.com/D295084)\n- **Build** Post-update work that needs HKLM was split into PostUpdateElevated. [Phab D309462](https://phabricator.services.mozilla.com/D309462)\n- **Build** Post-update work that needs HKCU was split into PostUpdateNonElevated. [Phab D309463](https://phabricator.services.mozilla.com/D309463)\n- **Build** Shortcut updates and related post-update tasks were reorganized. [Phab D295085](https://phabricator.services.mozilla.com/D295085)\n- **Build** Remaining PostUpdateInstallation code was moved into PostUpdateCurrentUser. [Phab D295086](https://phabricator.services.mozilla.com/D295086)\n- **Build** Installer docs were updated with the new command-line usage and integration details. [Phab D313893](https://phabricator.services.mozilla.com/D313893)\n- **Build** Non-enterprise installs now verify that /DesktopLauncher is provided. [Phab D313892](https://phabricator.services.mozilla.com/D313892)\n- **Build** desktop_launcher_helpers.nsh was added to TEST_STUB_INSTALLER_DEPS. [Phab D312155](https://phabricator.services.mozilla.com/D312155)\n- **Build** The updater now splits non-staged updates into Draft and Execute phases. [Phab D317577](https://phabricator.services.mozilla.com/D317577)\n- **Build** Updater helpers were factored out ahead of the new update phase. [Phab D317576](https://phabricator.services.mozilla.com/D317576)\n- **Build** Firefox now tests that stale updater draft files are removed. [Phab D317578](https://phabricator.services.mozilla.com/D317578)\n- **Build** Rollback now defers removing files that cannot be deleted immediately. [Phab D314881](https://phabricator.services.mozilla.com/D314881)\n- **Build** A rollback test now covers files locked against deletion. [Phab D314882](https://phabricator.services.mozilla.com/D314882)\n- **Build** geckodriver now detects whether the path contains a browser subdirectory. [Phab D318535](https://phabricator.services.mozilla.com/D318535)\n- **Build** Taskgraph cloning now passes head_git_ref when cloning from GitHub. [Phab D317828](https://phabricator.services.mozilla.com/D317828)\n- **Build** Workflow config now adds layout-team paths to PR ALLOWED_PATHS. [Phab D318335](https://phabricator.services.mozilla.com/D318335)\n- **Build** Workflow docs now link to instructions for changing a PR target. [Phab D318334](https://phabricator.services.mozilla.com/D318334)\n- **Build** trainhop beta and release rules were updated for new macOS job names. [Phab D318532](https://phabricator.services.mozilla.com/D318532)\n- **Refactor** Some memcpy calls were replaced with equivalent std::copy usage. [Phab D318674](https://phabricator.services.mozilla.com/D318674)\n- **Refactor** Incorrect std::forward uses were fixed to std::move. [Phab D318459](https://phabricator.services.mozilla.com/D318459)\n- **Refactor** XP_ANDROID mentions were replaced with ANDROID. [Phab D317815](https://phabricator.services.mozilla.com/D317815)\n- **Build** The newtab pre-commit hook no longer requires built bundle files. [Phab D318650](https://phabricator.services.mozilla.com/D318650)\n\n### DevTools, accessibility, and test-only stabilization\n- **DevTools** DevTools backward-compat tests now early-ok when the release channel lags by one version. [Phab D318689](https://phabricator.services.mozilla.com/D318689)\n- **DevTools** DevTools backward-compat docs now point to the right Treeherder link. [Phab D318601](https://phabricator.services.mozilla.com/D318601)\n- **DevTools** ViewportSize highlighter briefly gained higher precision width and height reporting. [Phab D318182](https://phabricator.services.mozilla.com/D318182)\n- **DevTools** InspectorUtils.getComputationSteps learned to handle substitution functions. [Phab D318056](https://phabricator.services.mozilla.com/D318056)\n- **A11y** about:debugging now announces network-location input errors. [Phab D314642](https://phabricator.services.mozilla.com/D314642)\n- **A11y** about:debugging Message now supports role=alert. [Phab D315128](https://phabricator.services.mozilla.com/D315128)\n- **A11y** A stale drag test now exempts mouse release from accessibility checks. [Phab D318407](https://phabricator.services.mozilla.com/D318407)\n- **Build** browser_lastSeenActive.js now guards minimize coverage instead of skipping the file. [Phab D318401](https://phabricator.services.mozilla.com/D318401)\n- **Build** browser_sizemodeBeforeMinimized.js is skipped on Linux 22.04. [Phab D318328](https://phabricator.services.mozilla.com/D318328)\n- **Build** browser_477657.js is skipped on Linux 22.04 Wayland. [Phab D318332](https://phabricator.services.mozilla.com/D318332)\n- **Build** browser_ext_popup_select_in_oopif.js was re-enabled on TSan. [Phab D318271](https://phabricator.services.mozilla.com/D318271)\n- **Build** browser_ext_topSites.js now waits for favicon propagation and was re-enabled on Linux x11 opt. [Phab D317530](https://phabricator.services.mozilla.com/D317530)\n- **Build** browser_ext_windows_size.js now expects off-screen positions to clamp and was re-enabled on macOS. [Phab D317527](https://phabricator.services.mozilla.com/D317527)\n- **Build** browser_ext_webrtc.js now uses fake media streams and was re-enabled on macOS. [Phab D317526](https://phabricator.services.mozilla.com/D317526)\n- **Build** browser_ext_url_overrides_newtab.js got a fix for a stale about:preferences tab intermittent. [Phab D317525](https://phabricator.services.mozilla.com/D317525)\n- **Build** Browser action, page action, and sidebar action context menu tests now wait for parent-process menu registration. [Phab D317523](https://phabricator.services.mozilla.com/D317523)\n- **Build** browser_avatar_menu_signin_cta_variants.js now closes the account panel it leaves open. [Phab D317410](https://phabricator.services.mozilla.com/D317410)\n- **Build** Download-triggering tests now close the downloads panel they leave open. [Phab D317403](https://phabricator.services.mozilla.com/D317403)\n- **Build** waitForMutationCondition is now called with the message option it expects. [Phab D318473](https://phabricator.services.mozilla.com/D318473)\n- **Build** Android UI tests for long-click back button, text selection, tabbed browsing, and credit card autofill were migrated to the efficiency framework. [Phab D318731](https://phabricator.services.mozilla.com/D318731) [Phab D318538](https://phabricator.services.mozilla.com/D318538) [Phab D318537](https://phabricator.services.mozilla.com/D318537) [Phab D318717](https://phabricator.services.mozilla.com/D318717)\n- **Build** A WebCompatReporterRetrievalService KDoc fix landed. [Phab D317816](https://phabricator.services.mozilla.com/D317816)\n- **Build** Web platform test metadata was corrected for local network access and clipboard permissions-policy cases. [Phab D318710](https://phabricator.services.mozilla.com/D318710) [Phab D318683](https://phabricator.services.mozilla.com/D318683)\n- **Build** BTP test links now click with a synthesized mouse event. [Phab D318165](https://phabricator.services.mozilla.com/D318165)\n\n## Reverts \u0026 Reapplies\n- **Build** Reverted vendored DoH static dumps after browser_aboutNetError_telemetry.js failures. [bug 2054044](https://bugzilla.mozilla.org/show_bug.cgi?id=2054044)\n- **Build** Reverted the Policies.sys.mjs prefer-const lint cleanup after lint failures. [bug 2063194](https://bugzilla.mozilla.org/show_bug.cgi?id=2063194)\n- **Rendering** Reverted pointer-event hover-state updates after mochitest failures in touch events. [bug 2062197](https://bugzilla.mozilla.org/show_bug.cgi?id=2062197)\n- **DevTools** Reverted higher-precision ViewportSize reporting after Android webdriver failures. [bug 2055445](https://bugzilla.mozilla.org/show_bug.cgi?id=2055445)\n- **Build** Reverted old telemetry probe removal after python failures. [bug 2063109](https://bugzilla.mozilla.org/show_bug.cgi?id=2063109)\n- **Networking** Reverted Happy Eyeballs profiler-marker changes after WPT failures. [bug 2060788](https://bugzilla.mozilla.org/show_bug.cgi?id=2060788)\n- **GPU** Reverted the Linux GLES-over-GL preference change after WebGL test failures. [bug 2056131](https://bugzilla.mozilla.org/show_bug.cgi?id=2056131)\n- **Build** Reverted EncryptedRandomAccessStream formatting after build bustage. [bug 1975760](https://bugzilla.mozilla.org/show_bug.cgi?id=1975760)\n- **UI** Reverted the Customize Sidebar hover-preview setting after browser_customize_sidebar.js failures. [bug 2039602](https://bugzilla.mozilla.org/show_bug.cgi?id=2039602)\n- **Build** Reverted a batch of extension test re-enables after browser_ext_url_overrides_newtab.js failures. [bug 2030542](https://bugzilla.mozilla.org/show_bug.cgi?id=2030542)\n- **UI** Reverted AITab generation after browser_aitab_generation.js failures. [bug 2058723](https://bugzilla.mozilla.org/show_bug.cgi?id=2058723)\n- **Build** Reverted push-validation formatting after principal WPT failures. [bug 2059144](https://bugzilla.mozilla.org/show_bug.cgi?id=2059144)\n- **DevTools** Reverted InspectorUtils.getComputationSteps substitution handling after browser_ImageDocument_svg_zoom.js failures. [bug 2041622](https://bugzilla.mozilla.org/show_bug.cgi?id=2041622)\n- **Build** Reapplied EncryptedRandomAccessStream formatting after the earlier bustage was fixed. [bug 1975760](https://bugzilla.mozilla.org/show_bug.cgi?id=1975760)",
  "repo": "firefox",
  "repoDisplay": "Firefox",
  "rollGroups": [
    {
      "name": "No",
      "count": 3
    }
  ],
  "since": "2026-08-14",
  "totals": {
    "commits": 215,
    "features": 212,
    "rolls": 3
  },
  "until": "2026-08-14"
}