{
  "commits": {
    "2860e64e3d02": {
      "author": "Silaghi",
      "avatar": "https://www.gravatar.com/avatar/81acf29bb88b2a0ded61f47b93c59dea?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "This reverts commit 8bd37a5fb52c28fdede2962f96ed32408d16fdcd.\n\nRevert \"Bug 2046171 - Add properties and actions to Bookmarks to support search r=android-reviewers,fmasalha\"\n\nThis reverts commit 4eaa148bafb76d9a4515f1c1abd8fac1aafdc0c5.",
      "email": "asilaghi@mozilla.com",
      "hash": "2860e64e3d021b6f682dd15549f86d16abca4fc0",
      "subject": "Revert \"Bug 2046172, Bug 2046171 - Create the new UI and remove old bookmarks search code r=android-reviewers,android-l10n-reviewers,flod,fmasalha\" for causing fenix-debug failures at efficiency.tests.Bookmarks"
    },
    "6b111e8910ae": {
      "author": "Silaghi",
      "avatar": "https://www.gravatar.com/avatar/81acf29bb88b2a0ded61f47b93c59dea?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "This reverts commit 6f43d1aa76b03bbbfba8df44a6159afa8fdb818c.\n\nRevert \"Bug 2050988 - Size the audio resampler output buffer with checked arithmetic r=media-playback-reviewers,karlt\"\n\nThis reverts commit 9b4ccc515ea82ee12e5a5af8e8531c90e54f98b2.\n\nRevert \"Bug 2050988 - Add gtest asserting the audio encoder consumes small downsampled input r=karlt\"\n\nThis reverts commit 462d2f76f4cdc794e5f22d868794eadad843ed71.\n\nRevert \"Bug 2050988 - Add gtest checking AudioEncoder rejects an oversized resampled output r=karlt\"\n\nThis reverts commit ea4e38dd00ab3fd6be5d5b447d10cc7aa582b504.\n\nRevert \"Bug 2050988 - Support audio encoders in PEMFactory::CreateEncoder r=media-playback-reviewers,karlt\"\n\nThis reverts commit 68c1bc8f6c18907c258a78ab58bf10121529927f.\n\nRevert \"Bug 2045379 - Grow the AudioPacketizer buffer with a fallible allocation r=media-playback-reviewers,padenot\"\n\nThis reverts commit 539f25f3b7ac5cfca20313bcca3ecfe93d192b10.\n\nRevert \"Bug 2045379 - Return nsresult from AudioPacketizer::Input and guard sample-count calculation r=media-playback-reviewers,webrtc-reviewers,bwc,alwu\"\n\nThis reverts commit e98c0c450b40bd6b43c7c5a6499510a6f5d0d5e1.",
      "email": "asilaghi@mozilla.com",
      "hash": "6b111e8910ae18a1c2e884419e0e291c2362eaca",
      "subject": "Revert \"Bug 2051439, Bug 2050988, Bug 2045379 - Reset the FFmpegAudioEncoder packetizer on encode/drain failure r=media-playback-reviewers,padenot\" for causing build bustages at FFmpegAudioEncoder.cpp"
    },
    "9ea8c4fb3475": {
      "author": "Silaghi",
      "avatar": "https://www.gravatar.com/avatar/81acf29bb88b2a0ded61f47b93c59dea?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "This reverts commit 1702c21408becf8549df86d1799eff529dff75ea.\n\nRevert \"Bug 2053206 - Pre: Extract pinning-related browser mochitests into browser_taskbarTabs_pin.js. r=nrishel\"\n\nThis reverts commit 238431f09d99ec08ef23c9cf963c447fa11062ff.\n\nRevert \"Bug 2050615 - Replace TaskbarTabsRegistry.#emitter with directly storing a storage object. r=nrishel\"\n\nThis reverts commit 0e1c6a189077e1fdacabce7f1b183b0b97988d3a.",
      "email": "asilaghi@mozilla.com",
      "hash": "9ea8c4fb3475d07178d5306a4831b867f6d00508",
      "subject": "Revert \"Bug 2053206, Bug 2050615 - Return the shortcutRelativePath from pinTaskbarTab instead of having it patch the registry itself. r=nrishel\" for causing mochitests failures at Taskbar Tabs"
    },
    "D299626": {
      "author": "Gabriel Luong",
      "avatar": "https://www.gravatar.com/avatar/8d4b3dd6d3dd0178956876e108d984c6?d=identicon\u0026s=64",
      "cl": "D299626",
      "clUrl": "https://phabricator.services.mozilla.com/D299626",
      "description": "Figma: https://www.figma.com/design/MjufE1X5fvkxZ0YneX4kRd/Android-Library--Nova-?node-id=63923-29025\u0026m=dev\n\nDifferential Revision: https://phabricator.services.mozilla.com/D299626",
      "email": "gabriel.luong@gmail.com",
      "hash": "27684e65006e2e1e0496913745a5510517f68200",
      "subject": "Bug 2038521 - Align CFR with the Acorn M3 specs r=android-reviewers,petru"
    },
    "D300957": {
      "author": "Gabriel Luong",
      "avatar": "https://www.gravatar.com/avatar/8d4b3dd6d3dd0178956876e108d984c6?d=identicon\u0026s=64",
      "cl": "D300957",
      "clUrl": "https://phabricator.services.mozilla.com/D300957",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D300957",
      "email": "gabriel.luong@gmail.com",
      "hash": "76fa35b6e1ce6075f494766de4b15533d36a6290",
      "subject": "Bug 2053992 - Remove deprecated textOnColorPrimary and iconOnColor from AcornColors r=android-reviewers,007"
    },
    "D304557": {
      "author": "Byron Campen",
      "avatar": "https://www.gravatar.com/avatar/3e201149abea356acc9bb6f0eea8b5a0?d=identicon\u0026s=64",
      "cl": "D304557",
      "clUrl": "https://phabricator.services.mozilla.com/D304557",
      "description": "This allowed a handful of simplifications in JSImpl.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D304557",
      "email": "docfaraday@gmail.com",
      "hash": "962816a6f3788ed3553dd5472b78f44b3efda839",
      "subject": "Bug 2019346: Make getter for iceConnectionState a simple passthrough. r=jib"
    },
    "D304576": {
      "author": "Byron Campen",
      "avatar": "https://www.gravatar.com/avatar/3e201149abea356acc9bb6f0eea8b5a0?d=identicon\u0026s=64",
      "cl": "D304576",
      "clUrl": "https://phabricator.services.mozilla.com/D304576",
      "description": "I realized the previous patch was calling the callback with the wrong\narg, but when I looked closer, nothing has used this in a decade.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D304576",
      "email": "docfaraday@gmail.com",
      "hash": "3a5deddf41a3ea7d9696c5f68a1b8dc239a8a520",
      "subject": "Bug 2019346: Remove RTCPeerConnectionStatic. r=jib,webidl,frontend-codestyle-reviewers,smaug"
    },
    "D305006": {
      "author": "Byron Campen",
      "avatar": "https://www.gravatar.com/avatar/3e201149abea356acc9bb6f0eea8b5a0?d=identicon\u0026s=64",
      "cl": "D305006",
      "clUrl": "https://phabricator.services.mozilla.com/D305006",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D305006",
      "email": "docfaraday@gmail.com",
      "hash": "59e735e1e2a483dc84b30834621bdf5bf3b0f079",
      "subject": "Bug 1805447: Implement RTCError for DTLS. r=jib,nkulatova,webidl,smaug"
    },
    "D305729": {
      "author": "Byron Campen",
      "avatar": "https://www.gravatar.com/avatar/3e201149abea356acc9bb6f0eea8b5a0?d=identicon\u0026s=64",
      "cl": "D305729",
      "clUrl": "https://phabricator.services.mozilla.com/D305729",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D305729",
      "email": "docfaraday@gmail.com",
      "hash": "227e26be356f1ce4530963839f2363d1fbd07c91",
      "subject": "Bug 1805447: Test-cases for RTCDtlsTransport.onerror. r=jib,nkulatova"
    },
    "D306915": {
      "author": "Kometes",
      "avatar": "https://www.gravatar.com/avatar/17c9ee80219ad70b8cae9ddeeeeeb4e3?d=identicon\u0026s=64",
      "cl": "D306915",
      "clUrl": "https://phabricator.services.mozilla.com/D306915",
      "description": "The autoscroll speed divisor was hardcoded (12) in two synchronized\ncodepaths: the compositor (gfx/layers/apz/src/AutoscrollAnimation.cpp)\nand the main thread (toolkit/actors/AutoScrollChild.sys.mjs). Expose it\nas a percentage multiplier pref (general.autoscroll.speed_multiplier;\n100 = default, 200 = double speed, 50 = half speed), read by both paths\nand defaulting to 100 so existing behavior is unchanged. The multiplier\nand resulting speed are clamped to \u003e= 1 to avoid a zero divisor.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D306915",
      "email": "someanon10@gmail.com",
      "hash": "070102881b70d334e36ac2204421e4045143e049",
      "subject": "Bug 1954212 - Add general.autoscroll.speed_multiplier pref to scale autoscroll speed. r=botond"
    },
    "D306921": {
      "author": "Daisuke Akatsuka",
      "avatar": "https://www.gravatar.com/avatar/a65a0876b78fe449d63939aa44c86afc?d=identicon\u0026s=64",
      "cl": "D306921",
      "clUrl": "https://phabricator.services.mozilla.com/D306921",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D306921",
      "email": "daisuke@birchill.co.jp",
      "hash": "8ccbd2f6c5ab55019c1deb01031242411b88cb77",
      "subject": "Bug 2046300 - Don't replace the URL with the explanation on hover/selection r=desktop-theme-reviewers,urlbar-reviewers,adw,dao"
    },
    "D308563": {
      "author": "Anna Weine",
      "avatar": "https://www.gravatar.com/avatar/99c4bba5c9c286febe66fd11d7ca2edf?d=identicon\u0026s=64",
      "cl": "D308563",
      "clUrl": "https://phabricator.services.mozilla.com/D308563",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D308563",
      "email": "anna.weine@mozilla.com",
      "hash": "b03281e266298827f2833bc8fb478409e7a74c66",
      "subject": "Bug 2050114 - Reporting API ignores Reporting-Endpoints on localhost r=tschuster"
    },
    "D308815": {
      "author": "Anna Weine",
      "avatar": "https://www.gravatar.com/avatar/99c4bba5c9c286febe66fd11d7ca2edf?d=identicon\u0026s=64",
      "cl": "D308815",
      "clUrl": "https://phabricator.services.mozilla.com/D308815",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D308815",
      "email": "anna.weine@mozilla.com",
      "hash": "0ae9827c4d7bc8b28ccbfa58324ded73b68dccf6",
      "subject": "Bug 2050114 - Add a WPT test for Reporting-Endpoints on loopback r=sfarre"
    },
    "D309206": {
      "author": "Chun-Min Chang",
      "avatar": "https://www.gravatar.com/avatar/8092c68fbfa26b5e17e2265e612bd1c3?d=identicon\u0026s=64",
      "cl": "D309206",
      "clUrl": "https://phabricator.services.mozilla.com/D309206",
      "description": "Guard the sample-count calculation and the buffer grow size with CheckedUint32, and make `AudioPacketizer::Input` return an error otherwise.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D309206",
      "email": "chun.m.chang@gmail.com",
      "hash": "e98c0c450b40bd6b43c7c5a6499510a6f5d0d5e1",
      "subject": "Bug 2045379 - Return nsresult from AudioPacketizer::Input and guard sample-count calculation r=media-playback-reviewers,webrtc-reviewers,bwc,alwu"
    },
    "D309208": {
      "author": "Chun-Min Chang",
      "avatar": "https://www.gravatar.com/avatar/8092c68fbfa26b5e17e2265e612bd1c3?d=identicon\u0026s=64",
      "cl": "D309208",
      "clUrl": "https://phabricator.services.mozilla.com/D309208",
      "description": "Add a test ensuring FFmpegAudioEncoder (Opus, 100 Hz up-sampled to 8000 Hz) rejects one large AudioData that resamples to an oversized output.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D309208",
      "email": "chun.m.chang@gmail.com",
      "hash": "ea4e38dd00ab3fd6be5d5b447d10cc7aa582b504",
      "subject": "Bug 2050988 - Add gtest checking AudioEncoder rejects an oversized resampled output r=karlt"
    },
    "D309209": {
      "author": "Chun-Min Chang",
      "avatar": "https://www.gravatar.com/avatar/8092c68fbfa26b5e17e2265e612bd1c3?d=identicon\u0026s=64",
      "cl": "D309209",
      "clUrl": "https://phabricator.services.mozilla.com/D309209",
      "description": "`bufferLengthGuess` calculated in FFmpegAudioEncoder (Opus, 384000 Hz\nsnapped to 48000) with a downsampling resampler could be floored to\n*zero*, so the speex resampler would process no frame and drop its\npending internal samples, breaking the assertion below in\n`::EncodeInputWithModernAPIs`:\n\n```\nMOZ_ASSERT(inputFrames == inputFramesProcessed)\n```\n\nThe following patch will address this issue.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D309209",
      "email": "chun.m.chang@gmail.com",
      "hash": "462d2f76f4cdc794e5f22d868794eadad843ed71",
      "subject": "Bug 2050988 - Add gtest asserting the audio encoder consumes small downsampled input r=karlt"
    },
    "D309296": {
      "author": "James Teh",
      "avatar": "https://www.gravatar.com/avatar/749580f8bd5af77c57367e6c2717e283?d=identicon\u0026s=64",
      "cl": "D309296",
      "clUrl": "https://phabricator.services.mozilla.com/D309296",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D309296",
      "email": "jteh@mozilla.com",
      "hash": "8aa0d0209ae9aedd47a2f5ff7601ff0d34425859",
      "subject": "Bug 2039124: Enable tagged PDF generation on Nightly. r=morgan"
    },
    "D309492": {
      "author": "Chun-Min Chang",
      "avatar": "https://www.gravatar.com/avatar/8092c68fbfa26b5e17e2265e612bd1c3?d=identicon\u0026s=64",
      "cl": "D309492",
      "clUrl": "https://phabricator.services.mozilla.com/D309492",
      "description": "On an encode or drain failure, reset the packetizer so a reused encoder starts from a clean state rather than carrying stale buffered samples.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D309492",
      "email": "chun.m.chang@gmail.com",
      "hash": "6f43d1aa76b03bbbfba8df44a6159afa8fdb818c",
      "subject": "Bug 2051439 - Reset the FFmpegAudioEncoder packetizer on encode/drain failure r=media-playback-reviewers,padenot"
    },
    "D309543": {
      "author": "Riza",
      "avatar": "https://www.gravatar.com/avatar/aebc786931c42febe0ffefd416d40f8c?d=identicon\u0026s=64",
      "cl": "D309543",
      "clUrl": "https://phabricator.services.mozilla.com/D309543",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D309543",
      "email": "rezwanarouf@yahoo.com",
      "hash": "f29e48f0a2de607b9facc7e1415085452892a1e4",
      "subject": "Bug 2044167 - Remove Debugger.onPromiseSettled r=bthrall"
    },
    "D309624": {
      "author": "scottdowne",
      "avatar": "https://www.gravatar.com/avatar/778eae8eed52e7a108e29e0df77dc65c?d=identicon\u0026s=64",
      "cl": "D309624",
      "clUrl": "https://phabricator.services.mozilla.com/D309624",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D309624",
      "email": "sdowne@mozilla.com",
      "hash": "65b5dcc210fc929b0a8421a773483a9f031e9a0b",
      "subject": "Bug 2051610 - Newtab shortcuts drag n drop fixes for placeholder r=jbrown"
    },
    "D309727": {
      "author": "Dre Grant",
      "avatar": "https://www.gravatar.com/avatar/766f0b780d039fe61b18c3a95137d8ea?d=identicon\u0026s=64",
      "cl": "D309727",
      "clUrl": "https://phabricator.services.mozilla.com/D309727",
      "description": "Registers a new New Tab \"Picture of the day\" widget: the registry entry, the\nthree widget prefs, the component, and the customize-panel + about:preferences\ntoggles. It renders the \"hidden picture\" fallback state - a CSS sunrise gradient\nwith the context menu, an eye button, and a hover-revealed empty-state message.\n\nThe actual picture, localized description, set-as-wallpaper, and dismiss/restore\nbehaviors arrive with the Merino feed (Bug 2050976) and the follow-ups (Bug\n2050975 / 2050973 / 2050972). For now the \"Manage wallpaper\" and \"Hide today's\npicture\" context-menu items and the eye button are present but only emit\ntelemetry. The \"small\" size is deferred (Bug 2050970).\n\nTelemetry uses the shared useWidgetTelemetry hook (generic widgets_* events; no\nmetrics.yaml change). Stacks on the strings patch (Bug 2050971 / D309659).\n\nDifferential Revision: https://phabricator.services.mozilla.com/D309727",
      "email": "dgrant@mozilla.com",
      "hash": "07770f2cea1cc0054ab31a9d01bf8e08f95044bc",
      "subject": "Bug 2050969 - Add the Picture of the Day widget boilerplate. r=fluent-reviewers,bolsson,Dre"
    },
    "D309741": {
      "author": "Reem H",
      "avatar": "https://www.gravatar.com/avatar/6ff5d1766c0abbbc7f56fb248b548de3?d=identicon\u0026s=64",
      "cl": "D309741",
      "clUrl": "https://phabricator.services.mozilla.com/D309741",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D309741",
      "email": "42309026+reemhamz@users.noreply.github.com",
      "hash": "5ad0cfadff21a8acc5cd27c5bd9766b6fc5144f4",
      "subject": "Bug 2050339 - Set up newtab preview file for en-US strings. r=fluent-reviewers,mconley,bolsson"
    },
    "D309886": {
      "author": "Chun-Min Chang",
      "avatar": "https://www.gravatar.com/avatar/8092c68fbfa26b5e17e2265e612bd1c3?d=identicon\u0026s=64",
      "cl": "D309886",
      "clUrl": "https://phabricator.services.mozilla.com/D309886",
      "description": "Allocate the grown buffer fallibly so an allocation failure is surfaced to the caller.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D309886",
      "email": "chun.m.chang@gmail.com",
      "hash": "539f25f3b7ac5cfca20313bcca3ecfe93d192b10",
      "subject": "Bug 2045379 - Grow the AudioPacketizer buffer with a fallible allocation r=media-playback-reviewers,padenot"
    },
    "D309963": {
      "author": "Chun-Min Chang",
      "avatar": "https://www.gravatar.com/avatar/8092c68fbfa26b5e17e2265e612bd1c3?d=identicon\u0026s=64",
      "cl": "D309963",
      "clUrl": "https://phabricator.services.mozilla.com/D309963",
      "description": "Implement `PEMFactory::CreateEncoder` for audio usage, mirroring the\nvideo branch.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D309963",
      "email": "chun.m.chang@gmail.com",
      "hash": "68c1bc8f6c18907c258a78ab58bf10121529927f",
      "subject": "Bug 2050988 - Support audio encoders in PEMFactory::CreateEncoder r=media-playback-reviewers,karlt"
    },
    "D309964": {
      "author": "Chun-Min Chang",
      "avatar": "https://www.gravatar.com/avatar/8092c68fbfa26b5e17e2265e612bd1c3?d=identicon\u0026s=64",
      "cl": "D309964",
      "clUrl": "https://phabricator.services.mozilla.com/D309964",
      "description": "Size the resampler output buffer with checked uint32 arithmetic and a\nfallible allocation. The previous unchecked signed-int expression could\nmis-size the buffer: a small multi-channel downsample floored the\nper-channel capacity to zero, so the resampler consumed no input. Use\nfloor+1 per channel so the per-channel capacity stays \u003e= 1, reject sizes\nthe checked arithmetic reports as invalid, and allocate mTempBuffer\nfallibly.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D309964",
      "email": "chun.m.chang@gmail.com",
      "hash": "9b4ccc515ea82ee12e5a5af8e8531c90e54f98b2",
      "subject": "Bug 2050988 - Size the audio resampler output buffer with checked arithmetic r=media-playback-reviewers,karlt"
    },
    "D310090": {
      "author": "Duncan McIntosh",
      "avatar": "https://www.gravatar.com/avatar/8d2a45b83e51be8dece9ba489225014e?d=identicon\u0026s=64",
      "cl": "D310090",
      "clUrl": "https://phabricator.services.mozilla.com/D310090",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D310090",
      "email": "dmcintosh@mozilla.com",
      "hash": "8381daca937fdb57ff8b2e22bdbf7c15d0568e3f",
      "subject": "Bug 2052234 - Check in IOUtils.getFile that there is a parent before attempting to create it. r=beth"
    },
    "D310240": {
      "author": "Nina Pypchenko",
      "avatar": "https://www.gravatar.com/avatar/d4af23165fd08129f80a4a6aef515048?d=identicon\u0026s=64",
      "cl": "D310240",
      "clUrl": "https://phabricator.services.mozilla.com/D310240",
      "description": "Adds a StocksFeed that fetches the default set of ETFs from Merino and stores\nthem in the widget's state. The widget shows them read-only at two sizes:\nMedium is a grid of ticker, price and daily change; Large is a vertical list\nthat also includes each fund's full name.\n\nThe Small size is hidden from the size menu for now but stays in the registry.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D310240",
      "email": "npypchenko@mozilla.com",
      "hash": "c8c0616af3f5bee38916eb983c71e2571b1de97d",
      "subject": "Bug 2052416 - Stocks widget: introduce default state for Medium and Large sizes r=desktop-theme-reviewers,hjones,fluent-reviewers,flod,reemhamz"
    },
    "D310253": {
      "author": "Mike Hommey",
      "avatar": "https://www.gravatar.com/avatar/5d5f37905f36ca9989f88861a702cff3?d=identicon\u0026s=64",
      "cl": "D310253",
      "clUrl": "https://phabricator.services.mozilla.com/D310253",
      "description": "At the same time, remove the redundant clang directory from PATH on mac.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D310253",
      "email": "mh+mozilla@glandium.org",
      "hash": "1979177485e187dcfd0d58b31924a7c6e3bc1739",
      "subject": "Bug 2050375 - Allow to add some PATH elements from the task configuration. r=firefox-build-system-reviewers,ahochheiden"
    },
    "D310254": {
      "author": "Mike Hommey",
      "avatar": "https://www.gravatar.com/avatar/5d5f37905f36ca9989f88861a702cff3?d=identicon\u0026s=64",
      "cl": "D310254",
      "clUrl": "https://phabricator.services.mozilla.com/D310254",
      "description": "This makes _GLIBCXX_USE_CXX11_ABI now defined for aarch64 builds, but that\ndoesn't really matter in practice (it only extends binary compatibility).\n\nDifferential Revision: https://phabricator.services.mozilla.com/D310254",
      "email": "mh+mozilla@glandium.org",
      "hash": "266a9acc67be5fa7421436c16a86582259dcc406",
      "subject": "Bug 2050375 - Use the same setup for both x86_64 and aarch64 linux builds of rust toolchains. r=firefox-build-system-reviewers,sergesanspaille"
    },
    "D310255": {
      "author": "Mike Hommey",
      "avatar": "https://www.gravatar.com/avatar/5d5f37905f36ca9989f88861a702cff3?d=identicon\u0026s=64",
      "cl": "D310255",
      "clUrl": "https://phabricator.services.mozilla.com/D310255",
      "description": "This is both useless noise in the build log, and can cause problems when\nsome build script runs the compiler command with -Werror because the\nextra -fuse-ld=lld turns that into a build failure.\n\nWe do, however, want to keep the -fuse-ld=lld because sometimes those\nflags can be used to link (in place of what we set via RUSTFLAGS) and we\ndo want to use lld.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D310255",
      "email": "mh+mozilla@glandium.org",
      "hash": "45f606c734bf2958e3c6ece5e1dae191fd4a0c82",
      "subject": "Bug 2050375 - Avoid clang complaining about -fuse-ld=lld not being used. r=firefox-build-system-reviewers,ahochheiden"
    },
    "D310256": {
      "author": "Mike Hommey",
      "avatar": "https://www.gravatar.com/avatar/5d5f37905f36ca9989f88861a702cff3?d=identicon\u0026s=64",
      "cl": "D310256",
      "clUrl": "https://phabricator.services.mozilla.com/D310256",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D310256",
      "email": "mh+mozilla@glandium.org",
      "hash": "aa818d183987a621ce2ff8ef2e762437015a14e7",
      "subject": "Bug 2050375 - Add necessary environment variables to use the sysroot for pkg-config. r=firefox-build-system-reviewers,ahochheiden"
    },
    "D310257": {
      "author": "Mike Hommey",
      "avatar": "https://www.gravatar.com/avatar/5d5f37905f36ca9989f88861a702cff3?d=identicon\u0026s=64",
      "cl": "D310257",
      "clUrl": "https://phabricator.services.mozilla.com/D310257",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D310257",
      "email": "mh+mozilla@glandium.org",
      "hash": "c35c78947405815b5c2d085078fc497a245d25e7",
      "subject": "Bug 2050375 - Allow to use the *-toolchain-sysroot toolchains for rust-based toolchains. r=firefox-build-system-reviewers,ahochheiden"
    },
    "D310258": {
      "author": "Mike Hommey",
      "avatar": "https://www.gravatar.com/avatar/5d5f37905f36ca9989f88861a702cff3?d=identicon\u0026s=64",
      "cl": "D310258",
      "clUrl": "https://phabricator.services.mozilla.com/D310258",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D310258",
      "email": "mh+mozilla@glandium.org",
      "hash": "92e72832652207476dcc1b1b1e24866f86216d52",
      "subject": "Bug 2050375 - Add toolchains for searchfox-cli, socorro-cli, etc. r=firefox-build-system-reviewers,ahochheiden"
    },
    "D310259": {
      "author": "Mike Hommey",
      "avatar": "https://www.gravatar.com/avatar/5d5f37905f36ca9989f88861a702cff3?d=identicon\u0026s=64",
      "cl": "D310259",
      "clUrl": "https://phabricator.services.mozilla.com/D310259",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D310259",
      "email": "mh+mozilla@glandium.org",
      "hash": "d8b87f5224ec93549575b1d6942d0100259de894",
      "subject": "Bug 2050375 - Use toolchain artifacts instead of using cargo binstall. r=firefox-build-system-reviewers,ahochheiden"
    },
    "D310278": {
      "author": "James Teh",
      "avatar": "https://www.gravatar.com/avatar/749580f8bd5af77c57367e6c2717e283?d=identicon\u0026s=64",
      "cl": "D310278",
      "clUrl": "https://phabricator.services.mozilla.com/D310278",
      "description": "We already have PDocAccessible::Printing which indicates that this is a print document.\nHowever, that is only called after the initial accessibility tree is sent, which is async from when we set up the document.\nIn the next patch, we will need this information synchronously when setting up the document.\nWe can't replace PDocAccessible::Printing because we still need to know when the initial tree has been fully sent and there's no other mechanism we can use for that.\nFor non-print docs, we can use PDocAccessible::RequestAckMutationEvents.\nHowever, print docs don't use a refresh tick (since they'll never send events), so they never send that message.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D310278",
      "email": "jteh@mozilla.com",
      "hash": "515499a659f8944f04531d1f7ea897d90929cbd6",
      "subject": "Bug 2052414 part 1: Add DocAccessibleParent::IsPrintDoc, available as soon as the DocAccessibleParent is constructed. r=morgan"
    },
    "D310279": {
      "author": "James Teh",
      "avatar": "https://www.gravatar.com/avatar/749580f8bd5af77c57367e6c2717e283?d=identicon\u0026s=64",
      "cl": "D310279",
      "clUrl": "https://phabricator.services.mozilla.com/D310279",
      "description": "We only use the accessibility tree of print (static clone) documents to generate a tagged PDF.\nAccessibility clients should never see them.\nPreviously, we called ProxyCreated for them regardless, so we still created OS specific accessibility objects.\nThis caused problems on Android, where there can only be one top level document per session.\nTo fix this, just don't call ProxyCreated, since we don't need those objects anyway.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D310279",
      "email": "jteh@mozilla.com",
      "hash": "52721aca941e0fa77bb96fffbaaf64599cf3a526",
      "subject": "Bug 2052414 part 2: Don't call ProxyCreated for print DocAccessibleParents and their descendant RemoteAccessibles. r=morgan"
    },
    "D310416": {
      "author": "Sajid Anwar",
      "avatar": "https://www.gravatar.com/avatar/554aa5334d7607ad11128e48fddf84a0?d=identicon\u0026s=64",
      "cl": "D310416",
      "clUrl": "https://phabricator.services.mozilla.com/D310416",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D310416",
      "email": "sajidanwar94@gmail.com",
      "hash": "b65b426028eb33546a238fbdba3376d909abae85",
      "subject": "Bug 2048427 - Add multi-column and block fragmentation support for text-box-trim. r=layout-reviewers,TYLin"
    },
    "D310457": {
      "author": "James Teh",
      "avatar": "https://www.gravatar.com/avatar/749580f8bd5af77c57367e6c2717e283?d=identicon\u0026s=64",
      "cl": "D310457",
      "clUrl": "https://phabricator.services.mozilla.com/D310457",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D310457",
      "email": "jteh@mozilla.com",
      "hash": "bfe514f21d255c34616bd807a1dc77d62e54d4b2",
      "subject": "Bug 2052562: Don't allow moves into a detached subtree. r=morgan"
    },
    "D310522": {
      "author": "Sajid Anwar",
      "avatar": "https://www.gravatar.com/avatar/554aa5334d7607ad11128e48fddf84a0?d=identicon\u0026s=64",
      "cl": "D310522",
      "clUrl": "https://phabricator.services.mozilla.com/D310522",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D310522",
      "email": "sajidanwar94@gmail.com",
      "hash": "2d32cce0d4c001c0378c99a3934b8b55e9ec2b43",
      "subject": "Bug 2052589 - Properly trim multi-column containers with spanners. r=layout-reviewers,TYLin"
    },
    "D310750": {
      "author": "Randell Jesup",
      "avatar": "https://www.gravatar.com/avatar/707a3249883bc1c42dbd54339c8daf44?d=identicon\u0026s=64",
      "cl": "D310750",
      "clUrl": "https://phabricator.services.mozilla.com/D310750",
      "description": "A channel that opens a cache entry asynchronously parks in AwaitingCacheCallbacks\nuntil OnCacheEntryAvailable fires. Nothing bounds that wait, so if the entry is\nleft perpetually \"being written\" (e.g. by a writer that was suspended or\ncancelled without ever closing its output stream), the load neither proceeds nor\ntimes out.\n\nAdd a one-shot backstop timer, armed while the channel is parked waiting for the\ncache entry and cancelled once the callback arrives. When it fires the channel\nstops waiting and races to the network so the load can make progress instead of\nhanging forever. The timeout is controlled by network.cache.entry_wait_timeout_ms\n(default 30s, 0 disables) and is kept generous so it never fires for legitimately\nslow concurrent reads/writes of large resources.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D310750",
      "email": "rjesup@mozilla.com",
      "hash": "d7cb511897085228824298e504eb739c34c2c8b9",
      "subject": "Bug 2052908 - Add a backstop timeout for a channel wedged waiting on a cache entry. r=necko-reviewers,kershaw"
    },
    "D310751": {
      "author": "Randell Jesup",
      "avatar": "https://www.gravatar.com/avatar/707a3249883bc1c42dbd54339c8daf44?d=identicon\u0026s=64",
      "cl": "D310751",
      "clUrl": "https://phabricator.services.mozilla.com/D310751",
      "description": "When a cache entry writer is suspended or stalled for too long, the suspend\ntimer sets the entry writer-lock bypass (SetBypassWriterLock). That already lets\nnew callbacks through the WRITING/REVALIDATING gate, but a consumer that has\nalready passed OnCacheEntryCheck and is waiting for the write to finish\n(RECHECK_AFTER_WRITE_FINISHED) is gated solely on the data being complete, so it\nkeeps getting re-queued and never wakes -- the load hangs forever.\n\nHonor mBypassWriterLock on that path too: when the bypass is set and the data is\nstill in progress, hand the consumer the entry as \"not wanted\"\n(NS_ERROR_CACHE_KEY_NOT_FOUND) so it falls back to the network instead of\ndeadlocking.\n\nAdds gtests for the cache-layer behavior (a bypassed writer lock releases a\nparked consumer; dooming a being-written entry releases a parked consumer) and\nan xpcshell test that reproduces the end-to-end hang: a no-cache writer stranded\nmid-write must not wedge a later same-URL request.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D310751",
      "email": "rjesup@mozilla.com",
      "hash": "9b8aebe2a0a5bff5db6b8b54753c6e0baeea5e85",
      "subject": "Bug 2052908 - Release cache consumers parked behind a bypassed writer lock. r=necko-reviewers,kershaw"
    },
    "D310752": {
      "author": "Randell Jesup",
      "avatar": "https://www.gravatar.com/avatar/707a3249883bc1c42dbd54339c8daf44?d=identicon\u0026s=64",
      "cl": "D310752",
      "clUrl": "https://phabricator.services.mozilla.com/D310752",
      "description": "When a channel is suspended after examining the response to await asynchronous\ntracking-protection annotation (bug 2030021) and is then cancelled while still\nsuspended, nsHttpChannel::CancelInternal defers the terminal teardown\n(CloseCacheEntry / AsyncAbort) to a Resume() that may never arrive. For a cache\nwriter this strands the entry perpetually \"being written\" -- its output stream\nnever closed and the entry never doomed -- wedging every later same-URL\nrevalidating consumer.\n\nUndo the annotation suspension in CancelInternal so the cancelled pump delivers\nOnStopRequest and the write-only entry is closed/doomed through the normal path.\nThis is a no-op if the channel only primed but never actually suspended.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D310752",
      "email": "rjesup@mozilla.com",
      "hash": "3f62e7e8d0ca9a2c5b7165c99473221dfdd2e2ce",
      "subject": "Bug 2052908 - Tear down a suspended cache writer on cancel instead of stranding it. r=necko-reviewers,kershaw"
    },
    "D310781": {
      "author": "Nicolas Chevobbe",
      "avatar": "https://www.gravatar.com/avatar/f942478f2eaeb6cc42142cdd661976a7?d=identicon\u0026s=64",
      "cl": "D310781",
      "clUrl": "https://phabricator.services.mozilla.com/D310781",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D310781",
      "email": "nchevobbe@mozilla.com",
      "hash": "c28d69f547aa58e1a8a646a273f1a78c40fa261e",
      "subject": "Bug 2053059 - [devtools] Add test for highlighters in SVG document. r=devtools-reviewers,ochameau."
    },
    "D310977": {
      "author": "James Teh",
      "avatar": "https://www.gravatar.com/avatar/749580f8bd5af77c57367e6c2717e283?d=identicon\u0026s=64",
      "cl": "D310977",
      "clUrl": "https://phabricator.services.mozilla.com/D310977",
      "description": "A print doc is a static clone, so it doesn't mutate.\nNormally, this means it doesn't fire any events.\nI've confirmed this with some debugging running our tagged PDF output tests.\nHowever, it seems WPT print reftests change the title of the document somehow, which causes us to fire a name change event on the document.\nBecause we no longer create OS specific accessibility objects, that causes crashes on some operating systems.\nSince we normally don't have any refresh ticks on print docs and we definitely don't want them, just explicitly prevent them from running.\nThis will protect against any other obscure cases of this that might happen in future, and allows us to be absolutely certain about the invariant that there are no refresh ticks on print docs.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D310977",
      "email": "jteh@mozilla.com",
      "hash": "105833af38e39b49c439541e567950280e194be8",
      "subject": "Bug 2052414 part 3: Explicitly prevent refresh ticks on print DocAccessibles. r=morgan"
    },
    "D310979": {
      "author": "Hiroyuki Ikezoe",
      "avatar": "https://www.gravatar.com/avatar/9ec516861853d265a973cd0ef66735cf?d=identicon\u0026s=64",
      "cl": "D310979",
      "clUrl": "https://phabricator.services.mozilla.com/D310979",
      "description": "On a paint-skip transaction, FrameMetrics::UpdatePendingScrollInfo mutates the\nScrollMetadata retained from an earlier paint but left mVisualScrollUpdateType /\nmVisualDestination in place. AsyncPanZoomController::NotifyMainThreadTransaction\nthen re-applied that already-consumed main-thread visual scroll update,\nclobbering the scroll offset the paint-skip had just applied (e.g. a\nscrollIntoView() followed by a deferred scrollBy() correction landing back at\nthe anchor instead of below it).\n\nClear the visual scroll update when applying the paint-skip scroll offset\nupdate, so the reused metadata no longer carries a stale destination.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D310979",
      "email": "hikezoe.birchill@mozilla.com",
      "hash": "063af963ddd86b5981a95690731147c650c0246f",
      "subject": "Bug 2053004 - Clear the visual scroll update when applying a paint-skip scroll offset update. r=botond"
    },
    "D311008": {
      "author": "alin lastun",
      "avatar": "https://www.gravatar.com/avatar/59aa98683e895ba24835ab02aad86938?d=identicon\u0026s=64",
      "cl": "D311008",
      "clUrl": "https://phabricator.services.mozilla.com/D311008",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D311008",
      "email": "alastun@mozilla.com",
      "hash": "c029b6a7b109cd269e3e30df9e84d332563bb581",
      "subject": "Bug 2053382 - Update strings for the microsurvey uninstall survey answers r=android-reviewers,android-l10n-reviewers,parker,gmalekpour"
    },
    "D311030": {
      "author": "Tooru Fujisawa",
      "avatar": "https://www.gravatar.com/avatar/0432a84805ea7033f4646049963e3bf1?d=identicon\u0026s=64",
      "cl": "D311030",
      "clUrl": "https://phabricator.services.mozilla.com/D311030",
      "description": "Given JSScript::AutoDelazify has been unused, modified it to more specific to\nthe case where the script already has the bytecode.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D311030",
      "email": "arai_a@mac.com",
      "hash": "afd67cba9c2a096f7c2df16cb9d5e3bf46fcf554",
      "subject": "Bug 2050662 - Prevent relazification while the BytecodeRange is used. r=bthrall"
    },
    "D311212": {
      "author": "Drew Willcoxon",
      "avatar": "https://www.gravatar.com/avatar/fa60148022a230fe1bacc441549b1c66?d=identicon\u0026s=64",
      "cl": "D311212",
      "clUrl": "https://phabricator.services.mozilla.com/D311212",
      "description": "When Merino includes `suggestion.custom_details.amp.header_text` as a string,\nuse that as the full keyword rather than `suggestion.full_keyword`.\n\nNo changes to the UI structure. Regardless of whether a suggestion has\n`header_text` or `full_keyword`, we'll still show that value in the UI as the\n\"full keyword\" before the suggestion's main title. (In the suggestion UI that\nspot is actually called the \"title\" and the main title spot is called the\n\"subtitle\" [1].)\n\n[1] https://searchfox.org/firefox-main/rev/0088392ab4ccab730743ed188ddec62d04e578b7/browser/components/urlbar/private/AmpSuggestions.sys.mjs#166-167\n\nDifferential Revision: https://phabricator.services.mozilla.com/D311212",
      "email": "adw@mozilla.com",
      "hash": "72a29e6e3668e404c416018af5dee404a5167e48",
      "subject": "Bug 2053626 - Support header_text in Merino AMP suggestions. r=daisuke,nanj,urlbar-reviewers"
    },
    "D311213": {
      "author": "Glenn Watson",
      "avatar": "https://www.gravatar.com/avatar/3d823baa293744dbe3cbe8ce33d77065?d=identicon\u0026s=64",
      "cl": "D311213",
      "clUrl": "https://phabricator.services.mozilla.com/D311213",
      "description": "A compositor-animated (property-bound) transform is re-sampled every frame, but\nthe device text path (bug 2044211) floors each glyph's per-frame device position\nto the pixel grid. The glyphs then cross pixel boundaries at different sub-pixel\nphases and snap independently, wiggling relative to one another - most visibly\nunder a rotation or skew.\n\nThe spatial tree already avoids snapping animated transforms because it causes\njitter (bug 637852); the text path never honored that. Propagate an\nis_ancestor_or_self_animating flag down the tree (mirroring\nis_ancestor_or_self_zooming) and rasterize text under such a transform in local\nspace, letting the shader apply the current transform each frame; it returns to\nthe crisp device path when the animation ends.\n\nA reference frame's transform is bound to a property both for a CSS transform\nanimation and for APZ's async pinch-zoom container / fixed-position frames. Only\nthe former should count as animating, so exclude bound frames marked\nis_2d_scale_translation - which APZ sets and a CSS transform reference frame\nnever does; otherwise the async-zoom container, present on essentially every\npage, would push all text to local raster. Active pinch-zoom is handled\nseparately by is_ancestor_or_self_zooming.\n\nThe per-frame sub-pixel difference isn't surfaced by headless rasterization, so\nadd a unit test for the flag propagation instead.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D311213",
      "email": "git@chillybin.org",
      "hash": "0a2e6250d8349912c27fd5dbd8822a9a263901df",
      "subject": "Bug 2053638 - Render text under an animated transform in local raster space r=gfx-reviewers,lsalzman"
    },
    "D311216": {
      "author": "Alastor Wu",
      "avatar": "https://www.gravatar.com/avatar/9f64a3c43c01820fd6be6b1ee3f326e1?d=identicon\u0026s=64",
      "cl": "D311216",
      "clUrl": "https://phabricator.services.mozilla.com/D311216",
      "description": "When video playback falls behind, the reader skips ahead to the next keyframe.\nThe decode-error recovery path can already have started such a skip without a\npending frame request, and the request path only checked for a duplicate pending\nrequest before starting its own skip. In that state the request path could start\na second skip while the first was still outstanding, which trips a diagnostic\nassertion. Start a skip only when none is already in progress; the in-flight\nskip completes and then delivers the awaited frame.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D311216",
      "email": "alwu@mozilla.com",
      "hash": "41a40f44f545cba68f6e2962aba6256235aa8ef7",
      "subject": "Bug 2052624 - Part 1: Guard against starting a second video skip while one is already in flight. r=media-playback-reviewers,jolin"
    },
    "D311217": {
      "author": "Alastor Wu",
      "avatar": "https://www.gravatar.com/avatar/9f64a3c43c01820fd6be6b1ee3f326e1?d=identicon\u0026s=64",
      "cl": "D311217",
      "clUrl": "https://phabricator.services.mozilla.com/D311217",
      "description": "The existing internal-seek test and an upcoming skip re-entry test share the\nsame reader setup: a single video track backed by mock demuxers and a mock\ndecoder module, plus a helper that advances the reader across demuxer and\ndecoder operations. Move that shared setup into a test fixture so both tests\nreuse it. No behavior change.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D311217",
      "email": "alwu@mozilla.com",
      "hash": "7775c7dbaac5c73d66e786b84eaedadf115c5110",
      "subject": "Bug 2052624 - Part 2: Add a MediaFormatReader gtest fixture. r=media-playback-reviewers,jolin"
    },
    "D311218": {
      "author": "Alastor Wu",
      "avatar": "https://www.gravatar.com/avatar/9f64a3c43c01820fd6be6b1ee3f326e1?d=identicon\u0026s=64",
      "cl": "D311218",
      "clUrl": "https://phabricator.services.mozilla.com/D311218",
      "description": "Drive the reader into its decode-error recovery path so a skip to the next\nkeyframe starts with no pending frame request, then ask for another frame in a\nstate that also wants to skip. Without the guard the reader starts a second skip\nand asserts; with it the second request is deferred until the in-flight skip\ncompletes. The reader setup is expressed through fixture helpers so each phase is\nnamed, and the mock track demuxer gains a next-random-access-point override so\nboth paths choose to skip.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D311218",
      "email": "alwu@mozilla.com",
      "hash": "9bf33f12621831980754cb366dac9d05498e325f",
      "subject": "Bug 2052624 - Part 3: Add a gtest for video skip re-entry across decode-error recovery. r=media-playback-reviewers,jolin"
    },
    "D311229": {
      "author": "Daisuke Akatsuka",
      "avatar": "https://www.gravatar.com/avatar/a65a0876b78fe449d63939aa44c86afc?d=identicon\u0026s=64",
      "cl": "D311229",
      "clUrl": "https://phabricator.services.mozilla.com/D311229",
      "description": "When an @engine alias is autofilled in the address bar, the alias autofill\nappends a trailing space so the user can immediately start typing their\nquery (see UrlbarProviderTokenAliasEngines). The autofill's normal selection\ncovers that space, but the alias is highlighted with a separate find\nselection that stopped at the end of the alias, before the space.\n\nPreviously, since the find selection highlight did not cover the space, the\nselection segment was split by the space, creating a notch.\n\nExtend the find selection over the trailing space so the alias highlight\nmeets the autofill selection without a notch.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D311229",
      "email": "daisuke@birchill.co.jp",
      "hash": "2f735b393180c1633eaea89e77f85fd1eb70f4a8",
      "subject": "Bug 2050759 - Extend the find selection highlight over the autofilled trailing space to avoid a notch r=adw"
    },
    "D311383": {
      "author": "Updatebot",
      "avatar": "https://www.gravatar.com/avatar/cd270ac15e761e2d4c08e9c9b7cfecca?d=identicon\u0026s=64",
      "cl": "D311383",
      "clUrl": "https://phabricator.services.mozilla.com/D311383",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D311383",
      "email": "updatebot@mozilla.com",
      "hash": "4be1db01dcafec6253d1a3c74a177f3f85d9be0a",
      "subject": "Bug 2053876 - Update android nightly application-services version bump to 10e7ed05fbc69c3b57f2e4560c1be1abe6702520 r=release-managers,dmeehan"
    },
    "D311390": {
      "author": "Corey Bryant",
      "avatar": "https://www.gravatar.com/avatar/60506475aa3676ed54dc0c712b695889?d=identicon\u0026s=64",
      "cl": "D311390",
      "clUrl": "https://phabricator.services.mozilla.com/D311390",
      "description": "_filter_by_release_project() only knew Firefox project names. This change\nenables choosing the project based on the graph's trust domain.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D311390",
      "email": "corey@thunderbird.net",
      "hash": "8110a643667aab35e19d9bedcce319e087b13c53",
      "subject": "Bug 2053869 - Make nightly desktop target-task filtering trust-domain aware. r=releng-reviewers,taskgraph-reviewers,ahal"
    },
    "D311452": {
      "author": "Reem H",
      "avatar": "https://www.gravatar.com/avatar/6ff5d1766c0abbbc7f56fb248b548de3?d=identicon\u0026s=64",
      "cl": "D311452",
      "clUrl": "https://phabricator.services.mozilla.com/D311452",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D311452",
      "email": "42309026+reemhamz@users.noreply.github.com",
      "hash": "2deb48470b7601a33df4aa0517d81d2a9f5ee63b",
      "subject": "Bug 2053963 - Add strings for Crossword widget. r=fluent-reviewers,nina-py,flod"
    },
    "a3bccc431954": {
      "author": "Silaghi",
      "avatar": "https://www.gravatar.com/avatar/81acf29bb88b2a0ded61f47b93c59dea?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "This reverts commit 5f2be03df7ae88d124e9e5abccb917e1deab2090.\n\nRevert \"Bug 1927289 Part 2: Remove all derefs of mNotLost. r=ahale\"\n\nThis reverts commit a731be014f2644133af22664f3cb402cecceb855.",
      "email": "asilaghi@mozilla.com",
      "hash": "a3bccc431954bd9025717372fb2e84958c6835c2",
      "subject": "Revert \"Bug 1927289 Part 3: Remove all internal uses of ClientWebGLContext::IsContextLost(). r=ahale\" for causing hazard failuresz"
    },
    "a3e54f59ec1f": {
      "author": "Cosmin Sabou",
      "avatar": "https://www.gravatar.com/avatar/392cb3f0cf45743e207bd4bcde85f272?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "This reverts commit f29e48f0a2de607b9facc7e1415085452892a1e4.",
      "email": "csabou@mozilla.com",
      "hash": "a3e54f59ec1f3ab27a40f98e2843f421e99b05b9",
      "subject": "Revert \"Bug 2044167 - Remove Debugger.onPromiseSettled r=bthrall\" for causing failures on bug-1505622.js"
    },
    "bfada93d590e": {
      "author": "Cosmin Sabou",
      "avatar": "https://www.gravatar.com/avatar/392cb3f0cf45743e207bd4bcde85f272?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "This reverts commit 07770f2cea1cc0054ab31a9d01bf8e08f95044bc.",
      "email": "csabou@mozilla.com",
      "hash": "bfada93d590e90ae4808197608ddc88ee50591f4",
      "subject": "Revert \"Bug 2050969 - Add the Picture of the Day widget boilerplate. r=fluent-reviewers,bolsson,Dre\" for causing node failures."
    }
  },
  "date": "2026-07-10",
  "days": 1,
  "generatedAt": "2026-07-10T22:05:47Z",
  "markdown": "## Highlights\n- **Media** Hardened the audio encoding pipeline with checked arithmetic, fallible growth, and better failure handling to reduce crash and corruption risk in edge-case resampling paths. [Phab D309964](https://phabricator.services.mozilla.com/D309964)\n- **Networking** Fixed cache writer lock edge cases so canceled or bypassed channels do not strand readers indefinitely, with a timeout backstop for wedged entries. [Phab D310750](https://phabricator.services.mozilla.com/D310750)\n- **A11y** Enabled tagged PDF generation on Nightly, a meaningful step toward better accessibility for exported and printed documents. [Phab D309296](https://phabricator.services.mozilla.com/D309296)\n- **Rendering** Landed multi-column and fragmentation support for text-box-trim and fixed spanner trimming, tightening layout correctness in complex column flows. [Phab D310416](https://phabricator.services.mozilla.com/D310416)\n- **Web Platform** Firefox now ignores Reporting-Endpoints on localhost while adding WPT coverage for loopback handling, aligning Reporting API behavior with safer local-network expectations. [Phab D308563](https://phabricator.services.mozilla.com/D308563)\n- **GPU** Text under animated transforms now renders in local raster space, improving visual stability for moving content. [Phab D311213](https://phabricator.services.mozilla.com/D311213)\n- **V8** Prevented relazification while BytecodeRange is in use, closing off a class of JIT and debugger-adjacent correctness hazards. [Phab D311030](https://phabricator.services.mozilla.com/D311030)\n- **Web Platform** WebRTC cleanup removed RTCPeerConnectionStatic, simplified iceConnectionState plumbing, and added RTCError support for DTLS with tests. [Phab D305006](https://phabricator.services.mozilla.com/D305006)\n- **Build** The toolchain pipeline moved away from cargo-binstall toward first-party toolchain artifacts and unified sysroot handling across Linux Rust builds. [Phab D310259](https://phabricator.services.mozilla.com/D310259)\n\n## What landed by area\n\n### Firefox UI and new tab\n- **UI** Extended find-in-page highlight painting over autofilled trailing spaces so the selection no longer shows a visible notch. [Phab D311229](https://phabricator.services.mozilla.com/D311229)\n- **UI** Kept the URL visible on hover and selection instead of replacing it with explanatory text, reducing surprise in the address bar. [Phab D306921](https://phabricator.services.mozilla.com/D306921)\n- **UI** Fixed New Tab shortcut drag and drop placeholder behavior. [Phab D309624](https://phabricator.services.mozilla.com/D309624)\n- **UI** Added a preview strings file setup for en-US New Tab content. [Phab D309741](https://phabricator.services.mozilla.com/D309741)\n- **Perf** Added a pref to scale autoscroll speed, giving users and testers direct control over autoscroll responsiveness. [Phab D306915](https://phabricator.services.mozilla.com/D306915)\n\n### Widgets and Firefox surfaces\n- **UI** Added the Crossword widget strings needed to wire up the surface. [Phab D311452](https://phabricator.services.mozilla.com/D311452)\n- **UI** Introduced default states for medium and large Stocks widgets. [Phab D310240](https://phabricator.services.mozilla.com/D310240)\n- **UI** Added the Picture of the Day widget boilerplate for future surface integration. [Phab D309727](https://phabricator.services.mozilla.com/D309727)\n- **UI** Added support for header_text in Merino AMP suggestions, expanding richer suggestion presentation in the urlbar. [Phab D311212](https://phabricator.services.mozilla.com/D311212)\n\n### Android\n- **UI** Aligned CFR with Acorn M3 specs on Android. [Phab D299626](https://phabricator.services.mozilla.com/D299626)\n- **Refactor** Removed deprecated textOnColorPrimary and iconOnColor from AcornColors. [Phab D300957](https://phabricator.services.mozilla.com/D300957)\n- **UI** Updated strings for the microsurvey uninstall survey answers. [Phab D311008](https://phabricator.services.mozilla.com/D311008)\n\n### Networking and storage\n- **Networking** Released cache consumers that were parked behind a bypassed writer lock, reducing the chance of channels stalling behind dead work. [Phab D310751](https://phabricator.services.mozilla.com/D310751)\n- **Networking** Tore down suspended cache writers on cancel instead of leaving them stranded. [Phab D310752](https://phabricator.services.mozilla.com/D310752)\n- **Security** Added a parent existence check in IOUtils.getFile before trying to create it, avoiding a bad filesystem path assumption. [Phab D310090](https://phabricator.services.mozilla.com/D310090)\n\n### Web platform and standards\n- **Web Platform** Added a WPT for Reporting-Endpoints on loopback to lock in expected behavior. [Phab D308815](https://phabricator.services.mozilla.com/D308815)\n- **Web Platform** Removed RTCPeerConnectionStatic as part of WebRTC API cleanup. [Phab D304576](https://phabricator.services.mozilla.com/D304576)\n- **Web Platform** Simplified the iceConnectionState getter to a direct passthrough. [Phab D304557](https://phabricator.services.mozilla.com/D304557)\n- **Web Platform** Implemented RTCError for DTLS in WebRTC. [Phab D305006](https://phabricator.services.mozilla.com/D305006)\n- **Web Platform** Added test coverage for RTCDtlsTransport.onerror. [Phab D305729](https://phabricator.services.mozilla.com/D305729)\n\n### Layout, rendering, and graphics\n- **Rendering** Properly trimmed multi-column containers with spanners. [Phab D310522](https://phabricator.services.mozilla.com/D310522)\n- **Rendering** Cleared the visual scroll update when applying a paint-skip scroll offset update, tightening async scrolling correctness. [Phab D310979](https://phabricator.services.mozilla.com/D310979)\n\n### Media\n- **Media** Reset the FFmpegAudioEncoder packetizer on encode and drain failure to recover more safely from bad encoder states. [Phab D309492](https://phabricator.services.mozilla.com/D309492)\n- **Media** Added a gtest asserting the audio encoder consumes small downsampled input correctly. [Phab D309209](https://phabricator.services.mozilla.com/D309209)\n- **Media** Added a gtest checking that AudioEncoder rejects oversized resampled output. [Phab D309208](https://phabricator.services.mozilla.com/D309208)\n- **Media** Enabled audio encoders in PEMFactory::CreateEncoder. [Phab D309963](https://phabricator.services.mozilla.com/D309963)\n- **Security** Grew the AudioPacketizer buffer with a fallible allocation to avoid hard failure paths under pressure. [Phab D309886](https://phabricator.services.mozilla.com/D309886)\n- **Security** Made AudioPacketizer::Input return nsresult and guarded sample-count calculation. [Phab D309206](https://phabricator.services.mozilla.com/D309206)\n- **Media** Guarded against starting a second video skip while one is already in flight during decode error recovery. [Phab D311216](https://phabricator.services.mozilla.com/D311216)\n- **Media** Added a MediaFormatReader gtest fixture to support deeper decode recovery coverage. [Phab D311217](https://phabricator.services.mozilla.com/D311217)\n- **Media** Added a gtest for video skip re-entry across decode-error recovery. [Phab D311218](https://phabricator.services.mozilla.com/D311218)\n\n### Accessibility and printing\n- **A11y** Added DocAccessibleParent::IsPrintDoc so print-doc state is available as soon as construction finishes. [Phab D310278](https://phabricator.services.mozilla.com/D310278)\n- **A11y** Stopped calling ProxyCreated for print DocAccessibleParents and descendant RemoteAccessibles. [Phab D310279](https://phabricator.services.mozilla.com/D310279)\n- **A11y** Explicitly prevented refresh ticks on print DocAccessibles. [Phab D310977](https://phabricator.services.mozilla.com/D310977)\n- **A11y** Disallowed moves into a detached subtree, tightening tree integrity. [Phab D310457](https://phabricator.services.mozilla.com/D310457)\n\n### DevTools and JS engine\n- **DevTools** Added a test covering highlighters in SVG documents. [Phab D310781](https://phabricator.services.mozilla.com/D310781)\n- **V8** Removed Debugger.onPromiseSettled. [Phab D309543](https://phabricator.services.mozilla.com/D309543)\n\n### Build and release engineering\n- **Build** Added toolchains for searchfox-cli, socorro-cli, and related utilities. [Phab D310258](https://phabricator.services.mozilla.com/D310258)\n- **Build** Allowed rust-based toolchains to use the *-toolchain-sysroot toolchains. [Phab D310257](https://phabricator.services.mozilla.com/D310257)\n- **Build** Added the environment variables needed for pkg-config to use the sysroot correctly. [Phab D310256](https://phabricator.services.mozilla.com/D310256)\n- **Build** Avoided clang warnings about unused -fuse-ld=lld. [Phab D310255](https://phabricator.services.mozilla.com/D310255)\n- **Build** Unified the setup for x86_64 and aarch64 Linux Rust toolchain builds. [Phab D310254](https://phabricator.services.mozilla.com/D310254)\n- **Build** Allowed extra PATH entries from task configuration. [Phab D310253](https://phabricator.services.mozilla.com/D310253)\n- **Build** Made nightly desktop target-task filtering trust-domain aware. [Phab D311390](https://phabricator.services.mozilla.com/D311390)\n\n## Reverts \u0026 Reapplies\n- **Revert** Reverted internal WebGL context loss cleanup after hazard failures, backing out work from [bug 1927289](https://bugzilla.mozilla.org/show_bug.cgi?id=1927289).\n- **Revert** Reverted the initial Picture of the Day widget boilerplate after node failures, then relanded it later the same day for [bug 2050969](https://bugzilla.mozilla.org/show_bug.cgi?id=2050969).\n- **Revert** Reverted FFmpegAudioEncoder packetizer reset changes after build bustage in FFmpegAudioEncoder.cpp for [bug 2051439](https://bugzilla.mozilla.org/show_bug.cgi?id=2051439).\n- **Revert** Reverted removal of Debugger.onPromiseSettled after failures in bug-1505622.js for [bug 2044167](https://bugzilla.mozilla.org/show_bug.cgi?id=2044167).\n- **Revert** Reverted a Taskbar Tabs shortcut path change after mochitest failures for [bug 2053206](https://bugzilla.mozilla.org/show_bug.cgi?id=2053206).\n- **Revert** Reverted the new Android bookmarks search UI removal after fenix-debug test failures for [bug 2046172](https://bugzilla.mozilla.org/show_bug.cgi?id=2046172).",
  "repo": "firefox",
  "repoDisplay": "Firefox",
  "rollGroups": [
    {
      "name": "No",
      "count": 4
    }
  ],
  "since": "2026-07-10",
  "totals": {
    "commits": 82,
    "features": 60,
    "rolls": 4
  },
  "until": "2026-07-10"
}