{
  "commits": {
    "00980d551a1d": {
      "author": "Serban Stanca",
      "avatar": "https://www.gravatar.com/avatar/977312186062f329a7e4302ab972ae7b?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "This reverts commit e147abd1835914d11ca6bdf9ab3f2e15688f3053.",
      "email": "sstanca@mozilla.com",
      "hash": "00980d551a1d4133042ef99bfba550c903123b27",
      "subject": "Revert \"Bug 2057457 - Ensure we don't lose atom references for symbol weak edges r=sfink\" for potentially causing bug 2060478."
    },
    "128aaa5b95b2": {
      "author": "rperta",
      "avatar": "https://www.gravatar.com/avatar/95787d55656c719bd5b0c6754f5449a3?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "This reverts commit 174534f884b455ab756906061f46c07c62f234cf.",
      "email": "rperta@mozilla.com",
      "hash": "128aaa5b95b28bfede02f79f962dd7e73bfb5e09",
      "subject": "Revert \"Bug 2060361 - Use exact scale factors for perspective surfaces that map coplanar content affinely r=gfx-reviewers,lsalzman\" for causing reftest failures at preserve3d-6a.html"
    },
    "1767621cda11": {
      "author": "Stephen Chenney",
      "avatar": "https://www.gravatar.com/avatar/07e26f921cd2d1d872f60569735d3b06?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "Automatic update from web-platform-tests\n[HiC] Invalidate body background images in iframes\n\nWhen a iframe with a background image specified for the body (or\nhtml) is moved into a canvas subtree, the image is not invalidated\nand a cross-origin image may still be painted into the canvas. Fix\nthis by invalidating the display item clients associated with the\nroot background.\n\nBug: 532914190\nChange-Id: I982af5f176d648472f8453e911cd4c32588c5f2a\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8181706\nCommit-Queue: Stephen Chenney \u003cschenney@chromium.org\u003e\nReviewed-by: Philip Rogers \u003cpdr@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1672440}\n\n--\n\nwpt-commits: 34174a4a37b1c0b8570fd816600191aaa7a5d7f7\nwpt-pr: 61681",
      "email": "schenney@chromium.org",
      "hash": "1767621cda11d3140521aafb6f03577b2e19eae1",
      "subject": "Bug 2060083 [wpt PR 61681] - [HiC] Invalidate body background images in iframes, a=testonly"
    },
    "2160ada58d19": {
      "author": "rperta",
      "avatar": "https://www.gravatar.com/avatar/95787d55656c719bd5b0c6754f5449a3?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "This reverts commit 38b2a5edc74052d013e5fc1f1474a36cc5a72d6a.",
      "email": "rperta@mozilla.com",
      "hash": "2160ada58d19edcec4aef6a5f680089eb0fb1a12",
      "subject": "Revert \"Bug 2058622, validate selected options entries, r=jjaschke\" for causing unexpected-pass wpt at select-selectedOptions-nesting.window.html"
    },
    "26e44e1e0aaa": {
      "author": "rperta",
      "avatar": "https://www.gravatar.com/avatar/95787d55656c719bd5b0c6754f5449a3?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "This reverts commit 0c4dc7a699697fb491e7e855b3273246a9716a6b.\n\nRevert \"Bug 2057674: Add dismissable sync promo to app menu history panel r=sync-reviewers,fluent-reviewers,desktop-theme-reviewers,bolsson,tgiles\"\n\nThis reverts commit 052a1686adc82ba4b8b7395d2cc7d287e2729cd4.\n\nRevert \"Bug 2049002: Add dismissable button to promo button r=sync-reviewers,fluent-reviewers,desktop-theme-reviewers,bolsson,akulyk,dao\"\n\nThis reverts commit 17af8f4309a4e17f57020052de2ce80a55cb6d62.",
      "email": "rperta@mozilla.com",
      "hash": "26e44e1e0aaa8824b8bf8c2c5bf8706276b56fe2",
      "subject": "Revert \"Bug 2059270, Bug 2057674, Bug 2049002: Add dismissable sync promo to app menu bookmarks panel r=sync-reviewers,fluent-reviewers,places-reviewers,desktop-theme-reviewers,Standard8,tgiles,bolsson\" for causing bc failures at browser_history_recently_closed.js"
    },
    "2e17409b41ad": {
      "author": "moz-wptsync-bot",
      "avatar": "https://www.gravatar.com/avatar/c26d4d31bbd58c7c2201edd90d400494?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "wpt-pr: 61681\nwpt-type: metadata",
      "email": "wptsync@mozilla.com",
      "hash": "2e17409b41ada50140611aa8dd7e5e263aaab89f",
      "subject": "Bug 2060083 [wpt PR 61681] - Update wpt metadata, a=testonly"
    },
    "3474d8fcc76f": {
      "author": "eri",
      "avatar": "https://www.gravatar.com/avatar/1578f8916835b9ce351a7bd623ab8493?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "Automatic update from web-platform-tests\njpegxl: add reftest for animated \u003cimg\u003e (#61685)\n--\n\nwpt-commits: 8a26b31d60d0f1831bb1711b7587ac125b8d2bf0\nwpt-pr: 61685",
      "email": "eri@igalia.com",
      "hash": "3474d8fcc76f914a344dc4bc0145e81e9539de5c",
      "subject": "Bug 2060179 [wpt PR 61685] - jpegxl: add reftest for animated \u003cimg\u003e, a=testonly"
    },
    "410c17027586": {
      "author": "Hyowon Kim",
      "avatar": "https://www.gravatar.com/avatar/c42b48211e9351e41e397cdfebdd5425?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "Automatic update from web-platform-tests\nAdd fuzzy match to jpegxl reftest for JXL's rounding difference\n\nBug: 507903802\nChange-Id: I05c3986fc08bf0568327402945b737f1e463d0ea\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8173443\nReviewed-by: Helmut Januschka \u003chelmut@januschka.com\u003e\nReviewed-by: Luca Versari \u003cveluca@google.com\u003e\nCommit-Queue: Hyowon Kim \u003chyowon@igalia.com\u003e\nCr-Commit-Position: refs/heads/main@{#1672461}\n\n--\n\nwpt-commits: 8ff51b7de9b569733c5be7d0636c92c258ffdd27\nwpt-pr: 61677",
      "email": "hyowon@igalia.com",
      "hash": "410c170275865cd40feb612d152799d596893298",
      "subject": "Bug 2059938 [wpt PR 61677] - Add fuzzy match to jpegxl reftest for JXL's rounding difference, a=testonly"
    },
    "4f9a836fae25": {
      "author": "moz-wptsync-bot",
      "avatar": "https://www.gravatar.com/avatar/c26d4d31bbd58c7c2201edd90d400494?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "wpt-pr: 61397\nwpt-type: metadata",
      "email": "wptsync@mozilla.com",
      "hash": "4f9a836fae2597ce4e6cc01881c2f3fcab801787",
      "subject": "Bug 2056082 [wpt PR 61397] - Update wpt metadata, a=testonly"
    },
    "5e3ae3b10ca3": {
      "author": "Serban Stanca",
      "avatar": "https://www.gravatar.com/avatar/977312186062f329a7e4302ab972ae7b?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "This reverts commit 317198c075601ddab2d46561aaa63c28ced8e9e1.",
      "email": "sstanca@mozilla.com",
      "hash": "5e3ae3b10ca32a8619079f09b5e6a7c25e2fdd35",
      "subject": "Revert \"Bug 2015084 - Add testcase r=sfink\" for causing jit-proc failures in bug-2015084.js."
    },
    "5ebb5122e124": {
      "author": "moz-wptsync-bot",
      "avatar": "https://www.gravatar.com/avatar/c26d4d31bbd58c7c2201edd90d400494?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "wpt-pr: 61686\nwpt-type: metadata",
      "email": "wptsync@mozilla.com",
      "hash": "5ebb5122e1240ee6ba183878ff8428065fd43d16",
      "subject": "Bug 2060183 [wpt PR 61686] - Update wpt metadata, a=testonly"
    },
    "5f6e4ea23c91": {
      "author": "agoloman",
      "avatar": "https://www.gravatar.com/avatar/cd12c4a70c28dead95af1f72ff892316?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "This reverts commit 405261caa0a8e2856f6c8749ce639f98faf3c83c.",
      "email": "agoloman@mozilla.com",
      "hash": "5f6e4ea23c910f9a9608f42f98a1decd03f940a6",
      "subject": "Revert \"Bug 2060238 - Bail out in ProcessDynamicImport when loading the imports failed. r=jonco\" for causing wpt failures @ModuleLoaderBase.cpp."
    },
    "63d399a2221c": {
      "author": "Serban Stanca",
      "avatar": "https://www.gravatar.com/avatar/977312186062f329a7e4302ab972ae7b?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "This reverts commit 72f73c6e2594b99b8804f6e084a20f8e6f83a21c.",
      "email": "sstanca@mozilla.com",
      "hash": "63d399a2221c822e5118c757fbad1d076ad16c85",
      "subject": "Revert \"Bug 2060184 - Fix concurrent marking zeal mode r=sfink\" for causing sm bustages."
    },
    "6d8655f9455d": {
      "author": "moz-wptsync-bot",
      "avatar": "https://www.gravatar.com/avatar/c26d4d31bbd58c7c2201edd90d400494?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "wpt-pr: 61683\nwpt-type: metadata",
      "email": "wptsync@mozilla.com",
      "hash": "6d8655f9455d03bd7ac83877bf5fefecf1b10072",
      "subject": "Bug 2060168 [wpt PR 61683] - Update wpt metadata, a=testonly"
    },
    "726d5c387ba9": {
      "author": "Claire Chambers",
      "avatar": "https://www.gravatar.com/avatar/d1b2f40761b45602d3d2dd698486400f?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "Automatic update from web-platform-tests\nFix another issue where zoom would not apply for cc clip-paths\n\nThis bug occurs because the StyleResolverState does not initialize the\nLength Conversion Data with zoom by default. In the case of dependent\nunits (such as %, vh, etc) this would occur. However, pixels would not\ntrigger a recalc in this case. Since *all* units are dependent on zoom\n(effectively), this recalc is now made mandatory.\n\nAdditionally, since the StyleResolverState is does not change across\nkeyframes, the constructor is hoisted to the Paint/Bounding Rect\ncallers, so that the resolution and creation of a cloned style only\noccurs once rather than per keyframe.\n\nBug: 535696703\nChange-Id: I2b58faa21310a98de55a7f25ddd6994b202243b3\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8160313\nReviewed-by: Vladimir Levin \u003cvmpstr@chromium.org\u003e\nCommit-Queue: Claire Chambers \u003cclchambers@microsoft.com\u003e\nReviewed-by: Kevin Ellis \u003ckevers@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1672640}\n\n--\n\nwpt-commits: e2e519e002f87b80fcdc8a62a34350bc0a597ad2\nwpt-pr: 61604",
      "email": "clchambers@microsoft.com",
      "hash": "726d5c387ba97df8ea11f06bf34bc50fcad854b6",
      "subject": "Bug 2059005 [wpt PR 61604] - Fix another issue where zoom would not apply for cc clip-paths, a=testonly"
    },
    "757d33a44aaa": {
      "author": "moz-wptsync-bot",
      "avatar": "https://www.gravatar.com/avatar/c26d4d31bbd58c7c2201edd90d400494?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "MANUAL PUSH: wpt sync bot\n\nwpt-head: efc4a961dd8d1cb0caa208a79f35aa4d8c346092\nwpt-type: landing",
      "email": "wptsync@mozilla.com",
      "hash": "757d33a44aaa530dfa4f5b67e0d0e574f04e86ce",
      "subject": "Bug 2060353 - [wpt-sync] Update web-platform-tests to efc4a961dd8d1cb0caa208a79f35aa4d8c346092, a=testonly"
    },
    "7dc8e943276d": {
      "author": "Serban Stanca",
      "avatar": "https://www.gravatar.com/avatar/977312186062f329a7e4302ab972ae7b?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "This reverts commit f747ebc1440f9773466d93d63d32dd004a76a4d6.",
      "email": "sstanca@mozilla.com",
      "hash": "7dc8e943276d97ecefc6ce879a78ec3e7426fe83",
      "subject": "Revert \"Bug 2060537 - Avoid unbinding FBO after partial update blits. r=gfx-reviewers,bradwerth\" for causing build bustages in NativeLayerWayland.cpp."
    },
    "8585726b1acf": {
      "author": "moz-wptsync-bot",
      "avatar": "https://www.gravatar.com/avatar/c26d4d31bbd58c7c2201edd90d400494?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "wpt-pr: 61604\nwpt-type: metadata",
      "email": "wptsync@mozilla.com",
      "hash": "8585726b1acf3c07150073c83ae4f7527c33e1aa",
      "subject": "Bug 2059005 [wpt PR 61604] - Update wpt metadata, a=testonly"
    },
    "86c627ca6cde": {
      "author": "Filip Skokan",
      "avatar": "https://www.gravatar.com/avatar/26183809ed6e67bd47627bd402f1a5cd?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "Automatic update from web-platform-tests\n[WebCryptoAPI] Improve test coverage and reduce duplication (#61397)\n\n* [WebCryptoAPI] Fix byte utility assertions\n\n* [WebCryptoAPI] Check CryptoKey usages exactly\n\n* [WebCryptoAPI] Await ML-KEM key exports\n\n* [WebCryptoAPI] Verify generated EdDSA signatures\n\n* [WebCryptoAPI] Check complete derived keys\n\n* [WebCryptoAPI] Scope ECDH test state locally\n\n* [WebCryptoAPI] Scope CFRG test state locally\n\n* [WebCryptoAPI] Test all invalid key usages\n\n* [WebCryptoAPI] Simplify resolved vector promises\n\n* [WebCryptoAPI] Preserve vector setup rejections\n\n* [WebCryptoAPI] Restore key test timeouts\n\n* [WebCryptoAPI] Clarify EdDSA input snapshot tests\n\n* [WebCryptoAPI] Modernize simple JavaScript idioms\n\n* [WebCryptoAPI] Share ML key import tests\n\n* [WebCryptoAPI] Share generateKey algorithm data\n\n* [WebCryptoAPI] Replace stale generateKey generator\n\n* [WebCryptoAPI] Share RSA key fixtures\n\n* [WebCryptoAPI] Share ML-DSA key fixtures\n\n* [WebCryptoAPI] Share AES test fixtures\n\n* [WebCryptoAPI] Share supports test runner\n\n* [WebCryptoAPI] Share XOF digest test runner\n\n* [WebCryptoAPI] Encode buffer views as raw bytes\n\n* [WebCryptoAPI] Check CryptoKey algorithm members\n\n* [WebCryptoAPI] Share ECDH test fixtures\n\n* [WebCryptoAPI] Share MAC sign and verify tests\n\n* [WebCryptoAPI] Share KDF derivation tests\n\n* [WebCryptoAPI] Share EC and OKP key fixtures\n\n* [WebCryptoAPI] Share ECDH derivation tests\n\n* [WebCryptoAPI] Share digest tests and source data\n\n* [WebCryptoAPI] Share asymmetric signature tests\n--\n\nwpt-commits: 82c3d9069cf2e93e5528a1f428fa122bd9af651d\nwpt-pr: 61397",
      "email": "panva.ip@gmail.com",
      "hash": "86c627ca6cdeb084ff5b28cc9e0ef535072fa4cf",
      "subject": "Bug 2056082 [wpt PR 61397] - [WebCryptoAPI] Improve test coverage and reduce duplication, a=testonly"
    },
    "86c8e033162e": {
      "author": "Rune Lillesveen",
      "avatar": "https://www.gravatar.com/avatar/86c4c70f416054e8ea553cdb2a9f20df?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "Automatic update from web-platform-tests\nEscape custom property names for unparsed serialization\n\nBug: 518082852\nChange-Id: Ie31aebb22cd83730d44869f475ff3c1ec37b4078\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8180666\nReviewed-by: Javier Fernandez \u003cjfernandez@igalia.com\u003e\nCommit-Queue: Rune Lillesveen \u003cfuthark@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1672568}\n\n--\n\nwpt-commits: ce78b376fc0e5fbe5d8e1fd88149476462cce2fc\nwpt-pr: 61683",
      "email": "futhark@chromium.org",
      "hash": "86c8e033162ed7b33f3ced343e7d569b82ac17ff",
      "subject": "Bug 2060168 [wpt PR 61683] - Escape custom property names for unparsed serialization, a=testonly"
    },
    "8800d0f76ee2": {
      "author": "Silaghi",
      "avatar": "https://www.gravatar.com/avatar/81acf29bb88b2a0ded61f47b93c59dea?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "This reverts commit 8eaee5b05609e7d01c67533431b7d3cace4053ae.",
      "email": "asilaghi@mozilla.com",
      "hash": "8800d0f76ee2ad7af6cc2851844d1d36943ad74f",
      "subject": "Revert \"Bug 2056931 - Synchronize custom icons between selectable profiles. r=yazan,mossop\" for causing xpcshells faiulres at customIconManager.js"
    },
    "8818d190bc58": {
      "author": "Simon Sapin",
      "avatar": "https://www.gravatar.com/avatar/74f5a8cfc40b4716fee035fb41dceb35?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "Automatic update from web-platform-tests\nscript: More consistent compareDocumentPosition for disconnected nodes\n\nSigned-off-by: Simon Sapin \u003csimon@igalia.com\u003e\n\n--\n\nwpt-commits: d6c801946a63a6c5fec07c3d476b8b021e5eca34\nwpt-pr: 61630",
      "email": "simon@igalia.com",
      "hash": "8818d190bc58a2af40715f7ca91467163fa85222",
      "subject": "Bug 2059384 [wpt PR 61630] - script: More consistent compareDocumentPosition for disconnected nodes, a=testonly"
    },
    "8b912e281cb5": {
      "author": "Serban Stanca",
      "avatar": "https://www.gravatar.com/avatar/977312186062f329a7e4302ab972ae7b?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "This reverts commit 43b011434d33df3cca64cd896ce9b3c20054c87b.\n\nThis reverts commit 5d4faac56ff1f1996bfc1a22d1f6e700b17c56a0.\n\nThis reverts commit 700ecbb8d93230d7cf63f8b73a5366743495666d.\n\nThis reverts commit d59ef71ecbdac5db1f09a99fb0b7b435be46c9b8.",
      "email": "sstanca@mozilla.com",
      "hash": "8b912e281cb5d6407d07db033fb26e9f7d1bc0c6",
      "subject": "Revert \"Bug 2059751 - Fix ESLint failures. r=bustage-fix!\" for causing mochitests failures in browser_trust_panel_icon.js."
    },
    "8d0e01b20c27": {
      "author": "eri",
      "avatar": "https://www.gravatar.com/avatar/1578f8916835b9ce351a7bd623ab8493?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "Automatic update from web-platform-tests\njpegxl: test image rendering using CSS (#61686)\n--\n\nwpt-commits: a73cf1e91a6a95e4c5c39494d8fbfdab0b38cae1\nwpt-pr: 61686",
      "email": "eri@igalia.com",
      "hash": "8d0e01b20c27c368d4d646a3403c87c58022f7ab",
      "subject": "Bug 2060183 [wpt PR 61686] - jpegxl: test image rendering using CSS, a=testonly"
    },
    "D281450": {
      "author": "Jon Coppeard",
      "avatar": "https://www.gravatar.com/avatar/c9ec760b0d3a20a6775614baa4086871?d=identicon\u0026s=64",
      "cl": "D281450",
      "clUrl": "https://phabricator.services.mozilla.com/D281450",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D281450",
      "email": "jcoppeard@mozilla.com",
      "hash": "a32e9f838e7732173624f69275cc430bf441ccc8",
      "subject": "Bug 2013551 - Add test r=spidermonkey-reviewers,iain"
    },
    "D281478": {
      "author": "Jon Coppeard",
      "avatar": "https://www.gravatar.com/avatar/c9ec760b0d3a20a6775614baa4086871?d=identicon\u0026s=64",
      "cl": "D281478",
      "clUrl": "https://phabricator.services.mozilla.com/D281478",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D281478",
      "email": "jcoppeard@mozilla.com",
      "hash": "6235915115cf3c049db6422c635a713eb3a21600",
      "subject": "Bug 2013599 - Add test r=spidermonkey-reviewers,iain"
    },
    "D282666": {
      "author": "Jon Coppeard",
      "avatar": "https://www.gravatar.com/avatar/c9ec760b0d3a20a6775614baa4086871?d=identicon\u0026s=64",
      "cl": "D282666",
      "clUrl": "https://phabricator.services.mozilla.com/D282666",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D282666",
      "email": "jcoppeard@mozilla.com",
      "hash": "317198c075601ddab2d46561aaa63c28ced8e9e1",
      "subject": "Bug 2015084 - Add testcase r=sfink"
    },
    "D283902": {
      "author": "Jon Coppeard",
      "avatar": "https://www.gravatar.com/avatar/c9ec760b0d3a20a6775614baa4086871?d=identicon\u0026s=64",
      "cl": "D283902",
      "clUrl": "https://phabricator.services.mozilla.com/D283902",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D283902",
      "email": "jcoppeard@mozilla.com",
      "hash": "8cdb72ef8dcb0b30694bb1f68f4d4e6b5a1f7c18",
      "subject": "Bug 2017622 - Add testcase r=sfink"
    },
    "D304784": {
      "author": "Andreas Pehrson",
      "avatar": "https://www.gravatar.com/avatar/906f005aaa08b2d109a3fa9e1b83000d?d=identicon\u0026s=64",
      "cl": "D304784",
      "clUrl": "https://phabricator.services.mozilla.com/D304784",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D304784",
      "email": "apehrson@mozilla.com",
      "hash": "56cd88aeb93831e8c85c7051aaf2304e46445f7e",
      "subject": "Bug 2044501 - Add RemoteMediaManagerChild::EnsureCodecSupportFor for async HW codec support queries. r=media-playback-reviewers,alwu"
    },
    "D304785": {
      "author": "Andreas Pehrson",
      "avatar": "https://www.gravatar.com/avatar/906f005aaa08b2d109a3fa9e1b83000d?d=identicon\u0026s=64",
      "cl": "D304785",
      "clUrl": "https://phabricator.services.mozilla.com/D304785",
      "description": "Add RemoteMediaManagerChild::EnsureCodecSupportFor-backed async support queries\n(PDMFactory::SupportsAsync / PDMFactorySupport::IsSupportedAsync) and use them\nfor the non-WebRTC MediaCapabilities decode paths, gated by the new\nmedia.mediacapabilities.codec-support-cache.enabled pref (default false). When\nthe pref is disabled the original behaviour is used: creating a decoder and\nquerying it for video, and a synchronous PDMFactorySupport query for audio.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D304785",
      "email": "apehrson@mozilla.com",
      "hash": "e44f785f3e1d5ef1d03531251bb50009162f239f",
      "subject": "Bug 2044501 - Add cached async codec-support path for MediaCapabilities decode behind a pref. r=media-playback-reviewers,alwu"
    },
    "D308551": {
      "author": "Valentin Gosu",
      "avatar": "https://www.gravatar.com/avatar/dedff9d4500fcbc5cdd1cd270f044b33?d=identicon\u0026s=64",
      "cl": "D308551",
      "clUrl": "https://phabricator.services.mozilla.com/D308551",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D308551",
      "email": "valentin.gosu@gmail.com",
      "hash": "09beeef2572509c938ab926753a33f76c61e5529",
      "subject": "Bug 2050056 - Do not enable dohAutoselect when LinkProperties#isPrivateDnsActive() r=necko-reviewers,geckoview-reviewers,kershaw,owlish"
    },
    "D308722": {
      "author": "Valentin Gosu",
      "avatar": "https://www.gravatar.com/avatar/dedff9d4500fcbc5cdd1cd270f044b33?d=identicon\u0026s=64",
      "cl": "D308722",
      "clUrl": "https://phabricator.services.mozilla.com/D308722",
      "description": "LinkProperties#isPrivateDnsActive() is not a stable value: it changes\nas the default network comes and goes, and in particular it flips while\nthe private DNS server name is being resolved (SVCB queries in\nprogress). Reading it synchronously on demand would therefore risk\nobserving a transient or stale value, and nothing would prompt a\nre-read once it settles, since a private-DNS transition on an otherwise\nunchanged network does not produce a CONNECTIVITY_ACTION broadcast.\n\nInstead, register a default-network callback in GeckoNetworkManager and\nread the value off the LinkProperties delivered to\nonLinkPropertiesChanged, so the cached state is always current. The\nresult is kept in a volatile field (written from the callback thread,\nread from the Gecko thread) and exposed to Gecko via a WrapForJNI\ngetter. When the state changes we reuse the existing onStatusChanged\n(\"changed\") path to notify Gecko, so any network-dependent heuristics\nare re-evaluated against the new value.\n\nThe callback is registered/unregistered alongside the existing\nconnectivity BroadcastReceiver and guarded against double-registration.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D308722",
      "email": "valentin.gosu@gmail.com",
      "hash": "a32a1c87dabbb0280d087d0154f8c4876601ae6f",
      "subject": "Bug 2050056 - Track Android private DNS (DoT) state asynchronously via a default NetworkCallback. r=necko-reviewers,geckoview-reviewers,kershaw,owlish"
    },
    "D309551": {
      "author": "Andreas Pehrson",
      "avatar": "https://www.gravatar.com/avatar/906f005aaa08b2d109a3fa9e1b83000d?d=identicon\u0026s=64",
      "cl": "D309551",
      "clUrl": "https://phabricator.services.mozilla.com/D309551",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D309551",
      "email": "apehrson@mozilla.com",
      "hash": "598f0bd89a7a698b10520c21b85b205cb0be5b77",
      "subject": "Bug 2044501 - Add moz-WPT for new media-capabilities supports-cache pref. r=media-playback-reviewers,alwu"
    },
    "D310030": {
      "author": "Tom Schuster",
      "avatar": "https://www.gravatar.com/avatar/643f0847a3bf01b6ac23263f1661d14e?d=identicon\u0026s=64",
      "cl": "D310030",
      "clUrl": "https://phabricator.services.mozilla.com/D310030",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D310030",
      "email": "tschuster@mozilla.com",
      "hash": "cbfddbb0d3394c49f5bc3911a5b66142d958a047",
      "subject": "Bug 2050536. r=nika,dom-worker-reviewers,ipc-reviewers,asuth"
    },
    "D311475": {
      "author": "Nazım Can Altınova",
      "avatar": "https://www.gravatar.com/avatar/6ec3894dd8f6c79bebd9110120332aa9?d=identicon\u0026s=64",
      "cl": "D311475",
      "clUrl": "https://phabricator.services.mozilla.com/D311475",
      "description": "The text, flow text, and log markers all carry developer-provided\nfree-text fields that might embed URLs. These fields were declared with\nMS::Format::String, which the profiler front-end\ndoesn't sanitize.\n\nSwitch these fields to MS::Format::UniqueString so their contents are\nadded to the profile's shared string table. The front-end runs\nremoveURLs over the whole string table when sanitizing.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D311475",
      "email": "canaltinova@gmail.com",
      "hash": "155a47cbb7728bcb98a956c4076a313105d87e17",
      "subject": "Bug 2054010 - Convert free-text profiler marker fields to unique strings so URLs get sanitized r=mstange,profiler-reviewers,joel"
    },
    "D311487": {
      "author": "Yannis Juglaret",
      "avatar": "https://www.gravatar.com/avatar/acf03da5e024541e95fd10efea141450?d=identicon\u0026s=64",
      "cl": "D311487",
      "clUrl": "https://phabricator.services.mozilla.com/D311487",
      "description": "mozcrash.py still used %-style string formatting in a number of log and\nprint statements, which tripped lint warnings. Convert them to f-strings\nfor consistency with the rest of the file, with no behavior change.\n\nThis is a preparatory cleanup for the following mozcrash changes in this\nstack.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D311487",
      "email": "yjuglaret@mozilla.com",
      "hash": "4a88374b479cc9ee99ca97bb9ed28f16cf5d7dd1",
      "subject": "Bug 1888528 - Convert mozcrash to f-string formatting to fix lint warnings. r=mozbase-reviewers,ahal"
    },
    "D311488": {
      "author": "Yannis Juglaret",
      "avatar": "https://www.gravatar.com/avatar/acf03da5e024541e95fd10efea141450?d=identicon\u0026s=64",
      "cl": "D311488",
      "clUrl": "https://phabricator.services.mozilla.com/D311488",
      "description": "When a crash carries the new CrashSignatureOverrideForTesting annotation,\nmozcrash now reports it under that fixed signature instead of the one\nderived from the crashing stack. This lets intentional crashes, such as a\nchild the parent deliberately crashes while it hangs at shutdown, group\nunder a single signature across platforms rather than being filed as many\nper-platform bugs.\n\nThe annotation is documented in CrashAnnotations.yaml and only affects test\nautomation; production crash reporting ignores it. A new mozcrash unit test\ncovers the override.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D311488",
      "email": "yjuglaret@mozilla.com",
      "hash": "235b7104f051703055c9112500650d57bea622ce",
      "subject": "Bug 1888528 - Let mozcrash honor a fixed crash signature override annotation. r=afranchuk,mozbase-reviewers,ahal"
    },
    "D311489": {
      "author": "Yannis Juglaret",
      "avatar": "https://www.gravatar.com/avatar/acf03da5e024541e95fd10efea141450?d=identicon\u0026s=64",
      "cl": "D311489",
      "clUrl": "https://phabricator.services.mozilla.com/D311489",
      "description": "Add an IntentionalCrashForTesting annotation that test automation sets on a\nprocess it deliberately crashes and expects to crash. When mozcrash sees it,\nit logs the crash as intentional and does not count it as a test failure.\nThe annotation must only ever be set under test-specific configuration;\nproduction crashes must never carry it, otherwise real failures would be\nsilently ignored.\n\nThe annotation is documented in CrashAnnotations.yaml, and new mozcrash unit\ntests cover both the intentional-crash-is-not-a-failure case and the case\nwhere a crash without the annotation still fails even when it carries a\nsignature override.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D311489",
      "email": "yjuglaret@mozilla.com",
      "hash": "503e8b849b86c69cc2127e6a42a33609ecb4d4d9",
      "subject": "Bug 1888528 - Let mozcrash treat annotated intentional crashes as non-failures. r=afranchuk,mozbase-reviewers,ahal"
    },
    "D311490": {
      "author": "Yannis Juglaret",
      "avatar": "https://www.gravatar.com/avatar/acf03da5e024541e95fd10efea141450?d=identicon\u0026s=64",
      "cl": "D311490",
      "clUrl": "https://phabricator.services.mozilla.com/D311490",
      "description": "On debug builds the parent process deliberately crashes children that hang\nat shutdown (since bug 1793525), producing a distinct crash signature from\neach child's stack and thus many separate intermittent bugs. Record a fixed\nCrashSignatureOverrideForTesting annotation on the parent around the code\nthat crashes these children, on both POSIX and Windows: the crash helper\npropagates a parent annotation into a child's report when the child left it\nunset, so all such crashes now group under the single \"child process hang at\nshutdown\" signature.\n\nThe annotation is scoped so a later crash of the parent itself (e.g. via\nnsTerminator) is not misattributed. The shared signature string lives in\nprocess_watcher.h.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D311490",
      "email": "yjuglaret@mozilla.com",
      "hash": "3602e0421533464306d5037aad7d72c8c9c65ad0",
      "subject": "Bug 1888528 - Crash children hanging at shutdown under a uniform signature. r=ipc-reviewers,nika"
    },
    "D311491": {
      "author": "Yannis Juglaret",
      "avatar": "https://www.gravatar.com/avatar/acf03da5e024541e95fd10efea141450?d=identicon\u0026s=64",
      "cl": "D311491",
      "clUrl": "https://phabricator.services.mozilla.com/D311491",
      "description": "Stop skipping the shutdown-hang crash path under MOZ_TEST_CHILD_EXIT_HANG,\nsince the hang delay used by browser_child_hang.js is low enough to avoid\nthe crash path anyway.\n\nAdd a Marionette test for NS_FREE_PERMANENT_DATA builds, that forces a\nchild process hang at shutdown by using MOZ_TEST_CHILD_EXIT_HANG, then\nverifies that this results in a crash report that carries the expected\nuniform crash signature override annotation.\n\nMark MOZ_TEST_CHILD_EXIT_HANG crashes as intentional by using the new\nIntentionalCrashForTesting annotation, to avoid flagging the test runs\nthat produce these crash reports as failures.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D311491",
      "email": "yjuglaret@mozilla.com",
      "hash": "94a7941255f9a486c8b5807f66fe4b8b2023d456",
      "subject": "Bug 1888528 - Add test coverage for uniform child shutdown-hang crash reports. r=whimboo,ipc-reviewers,nika"
    },
    "D312647": {
      "author": "Sotaro Ikeda",
      "avatar": "https://www.gravatar.com/avatar/a0c6bcb88fdc08a4e55f4fcf65cf0428?d=identicon\u0026s=64",
      "cl": "D312647",
      "clUrl": "https://phabricator.services.mozilla.com/D312647",
      "description": "Using MozPromise to asynchronize taking snapshot. The async taking screenshot is used only for capture stream. With it, main thread is not blocked for waiting sync IPC.\n\nBorrowed from the following implementations.\n- HTMLCanvasElement::GetSurfaceSnapshot()\n- ClientWebGLContext::BackBufferSnapshot()\n- ClientWebGLContext::DoReadPixels()\n- WebGLParent::RecvReadPixels()\n\nDifferential Revision: https://phabricator.services.mozilla.com/D312647",
      "email": "sotaro.ikeda.g@gmail.com",
      "hash": "fe6d7e59fbe9cdaa7a3c35251d8041cf076f8c7f",
      "subject": "Bug 2055751 - Make HTMLCanvasElement::CaptureStream() to use async readback IPC with WebGLs r=gfx-reviewers,lsalzman"
    },
    "D312991": {
      "author": "smayya",
      "avatar": "https://www.gravatar.com/avatar/b032108dab3ccfada1140fb485c6e182?d=identicon\u0026s=64",
      "cl": "D312991",
      "clUrl": "https://phabricator.services.mozilla.com/D312991",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D312991",
      "email": "smayya@mozilla.com",
      "hash": "59ae57efffd310e77d481454bdfe49f170f08195",
      "subject": "Bug 2053608 - Additional validation of URL segments in nsStandardURL. r=necko-reviewers,jesup"
    },
    "D313136": {
      "author": "nirmaladvani",
      "avatar": "https://www.gravatar.com/avatar/a61e6ca34b9dfc93535b51aac017954c?d=identicon\u0026s=64",
      "cl": "D313136",
      "clUrl": "https://phabricator.services.mozilla.com/D313136",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D313136",
      "email": "nirmaladvani@live.com",
      "hash": "2a151d9ae396509cdbe79866922afc022472dc3d",
      "subject": "Bug 2053566 - Remove unused toolkit.telemetry.dap_* preferences r=simonf"
    },
    "D313314": {
      "author": "Jeremy Swinarton",
      "avatar": "https://www.gravatar.com/avatar/d88d3fdf48ea609876f67ee42d980af2?d=identicon\u0026s=64",
      "cl": "D313314",
      "clUrl": "https://phabricator.services.mozilla.com/D313314",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D313314",
      "email": "jswinarton@mozilla.com",
      "hash": "8ff1fba668a21f2686d8203cd45aa519ecc97af5",
      "subject": "Bug 1980036: Structural changes to tab hover preview to resolve intermittent test failures r=tabbrowser-reviewers,sthompson"
    },
    "D313466": {
      "author": "Marco Bonardo",
      "avatar": "https://www.gravatar.com/avatar/06a01db28e1c2c2e9d5cd9dd5c4110d8?d=identicon\u0026s=64",
      "cl": "D313466",
      "clUrl": "https://phabricator.services.mozilla.com/D313466",
      "description": "In the parent process, ConcurrentConnection opening places.sqlite concurrently\nwith EnsureConnection() causes WAL-mode lock contention (SQLITE_LOCKED or\nSQLITE_IOERR), which bypasses busy_timeout. Defer the CC open until\nTOPIC_PLACES_INIT_COMPLETE, which fires only after the main connection is\nestablished. A 10s fallback timer handles the case where the notification\nnever arrives.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D313466",
      "email": "mbonardo@mozilla.com",
      "hash": "b10910c797b082225747c7f5375603947cf3adac",
      "subject": "Bug 2054381 - Fix ConcurrentConnection LOCKED race on Places startup. r=places-reviewers,daisuke"
    },
    "D313752": {
      "author": "Mike Conley",
      "avatar": "https://www.gravatar.com/avatar/4b4985a7acf7db49dfddd7815b55a043?d=identicon\u0026s=64",
      "cl": "D313752",
      "clUrl": "https://phabricator.services.mozilla.com/D313752",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D313752",
      "email": "mconley@mozilla.com",
      "hash": "8eaee5b05609e7d01c67533431b7d3cace4053ae",
      "subject": "Bug 2056931 - Synchronize custom icons between selectable profiles. r=yazan,mossop"
    },
    "D313753": {
      "author": "Vincent Tunru",
      "avatar": "https://www.gravatar.com/avatar/57cea0c271d7c7166f23cb45e607ab20?d=identicon\u0026s=64",
      "cl": "D313753",
      "clUrl": "https://phabricator.services.mozilla.com/D313753",
      "description": "And make sure refreshes/tab switches are not counted as new first\nvisits.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D313753",
      "email": "git@vincenttunru.com",
      "hash": "d59ef71ecbdac5db1f09a99fb0b7b435be46c9b8",
      "subject": "Bug 2057267 - Count how often Firefox shows that it blocked trackers. r=urlbar-reviewers,daisuke"
    },
    "D313754": {
      "author": "Nicholas Poon",
      "avatar": "https://www.gravatar.com/avatar/de8191595cff0507f38ca784b6613551?d=identicon\u0026s=64",
      "cl": "D313754",
      "clUrl": "https://phabricator.services.mozilla.com/D313754",
      "description": "- Introduces a ShareSheetChooserAction enum (SAVE_PDF, PRINT, SEND_TO_DEVICES, QR_CODE) and threads a configurable chooserActions parameter through ShareSheetLauncher, ShareUseCases, and down to the actual shareWithChooserActions(...) call — replacing the previously hardcoded action list.\n- Generalizes \"Send to Devices\" from a single tab to multiple tabs: SendToDevicesDialogFragment now takes lists of URLs/titles (EXTRA_URLS/EXTRA_TITLES) instead of single values, with corresponding sendTabsToDevice/sendTabsToAllDevices. HomeActivity gets a handleSendToDevicesActionIntent helper.\n- Wires up the tabs tray (TabManagerController): sharing one tab offers [SEND_TO_DEVICES, QR_CODE], multiple tabs offer just [SEND_TO_DEVICES].\n- Extends the multi-item share path to use the chooser-actions API on API 34+ (with a plain share() fallback below 34).\n- Updates tests across launcher, dialog fragment, use-cases, and controller, including new @Config(sdk = [34]) / [33] coverage.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D313754",
      "email": "npoon@mozilla.com",
      "hash": "943299678c7f5d3ed27b119513420e878fc28085",
      "subject": "Bug 2057331 - Add chooser actions to native share sheet from tabs tray r=android-reviewers,calu"
    },
    "D313842": {
      "author": "Valentin Gosu",
      "avatar": "https://www.gravatar.com/avatar/dedff9d4500fcbc5cdd1cd270f044b33?d=identicon\u0026s=64",
      "cl": "D313842",
      "clUrl": "https://phabricator.services.mozilla.com/D313842",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D313842",
      "email": "valentin.gosu@gmail.com",
      "hash": "4bf26c01d66c989c012937046a0ef8f06072eae9",
      "subject": "Bug 2057337 - Use android_res_nresult in PlatformDNSAndroid r=necko-reviewers,jesup"
    },
    "D314167": {
      "author": "Sammy Khamis",
      "avatar": "https://www.gravatar.com/avatar/8fe753dbe031a3e6a198606619cb5201?d=identicon\u0026s=64",
      "cl": "D314167",
      "clUrl": "https://phabricator.services.mozilla.com/D314167",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D314167",
      "email": "skhamis@mozilla.com",
      "hash": "17af8f4309a4e17f57020052de2ce80a55cb6d62",
      "subject": "Bug 2049002: Add dismissable button to promo button r=sync-reviewers,fluent-reviewers,desktop-theme-reviewers,bolsson,akulyk,dao"
    },
    "D314168": {
      "author": "Sammy Khamis",
      "avatar": "https://www.gravatar.com/avatar/8fe753dbe031a3e6a198606619cb5201?d=identicon\u0026s=64",
      "cl": "D314168",
      "clUrl": "https://phabricator.services.mozilla.com/D314168",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D314168",
      "email": "skhamis@mozilla.com",
      "hash": "052a1686adc82ba4b8b7395d2cc7d287e2729cd4",
      "subject": "Bug 2057674: Add dismissable sync promo to app menu history panel r=sync-reviewers,fluent-reviewers,desktop-theme-reviewers,bolsson,tgiles"
    },
    "D314234": {
      "author": "Hubert B Manilla",
      "avatar": "https://www.gravatar.com/avatar/9a8e452716848b046c871e21035b4ea3?d=identicon\u0026s=64",
      "cl": "D314234",
      "clUrl": "https://phabricator.services.mozilla.com/D314234",
      "description": "Also reworking the browser_dbg-pretty-print-stylesheet.js test to make\nit more generic for subsequent stylesheet assertions.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D314234",
      "email": "hmanilla@mozilla.com",
      "hash": "e2fc3bf45ff2353fa2fcfb34bed98caae5e73247",
      "subject": "Bug 2051264 - [devtools] Fix selection for duplicate stylesheets in the debugger r=devtools-reviewers,nchevobbe"
    },
    "D314284": {
      "author": "Hubert B Manilla",
      "avatar": "https://www.gravatar.com/avatar/9a8e452716848b046c871e21035b4ea3?d=identicon\u0026s=64",
      "cl": "D314284",
      "clUrl": "https://phabricator.services.mozilla.com/D314284",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D314284",
      "email": "hmanilla@mozilla.com",
      "hash": "700c01dff29829a9e46552be8dabc2355c1c3ef2",
      "subject": "Bug 2051029 - [devtools] Reselect selected stylesheet after reload r=devtools-reviewers,nchevobbe"
    },
    "D314329": {
      "author": "Sylvestre Ledru",
      "avatar": "https://www.gravatar.com/avatar/fb0fd07485efdfc05e02987075fdbab0?d=identicon\u0026s=64",
      "cl": "D314329",
      "clUrl": "https://phabricator.services.mozilla.com/D314329",
      "description": "The string is not read again after being stored.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D314329",
      "email": "sylvestre@debian.org",
      "hash": "aa4f8b0bb022e7bf693f3a9f234c3e4992dc71d2",
      "subject": "Bug 2058054 - Coverity CID 1697202: move profileLevelId into the codec parameter map r=webrtc-reviewers,ng"
    },
    "D314330": {
      "author": "Sylvestre Ledru",
      "avatar": "https://www.gravatar.com/avatar/fb0fd07485efdfc05e02987075fdbab0?d=identicon\u0026s=64",
      "cl": "D314330",
      "clUrl": "https://phabricator.services.mozilla.com/D314330",
      "description": "The local copy is dead after the assignment.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D314330",
      "email": "sylvestre@debian.org",
      "hash": "40233118ef8678380e10554ccbd932af8d73bf4f",
      "subject": "Bug 2058054 - Coverity CID 1600393: move the Transport back into mTransports in ActivateTransport r=webrtc-reviewers,ng"
    },
    "D314360": {
      "author": "Jeremy Swinarton",
      "avatar": "https://www.gravatar.com/avatar/d88d3fdf48ea609876f67ee42d980af2?d=identicon\u0026s=64",
      "cl": "D314360",
      "clUrl": "https://phabricator.services.mozilla.com/D314360",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D314360",
      "email": "jswinarton@mozilla.com",
      "hash": "9dc7bbab8213f0fa9618b27b398b43d98ba223c6",
      "subject": "Bug 2055490: Fix Nova-only failure on browser_tab_preview.js r=sthompson,tabbrowser-reviewers"
    },
    "D314598": {
      "author": "Vincent Tunru",
      "avatar": "https://www.gravatar.com/avatar/57cea0c271d7c7166f23cb45e607ab20?d=identicon\u0026s=64",
      "cl": "D314598",
      "clUrl": "https://phabricator.services.mozilla.com/D314598",
      "description": "Because we unapplied and re-applied the animation properties when the\ncontainer query matched/unmatched, the longform animation would\nrestart. With this change, we keep the animation properties applied,\nand only change the play/pause state.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D314598",
      "email": "git@vincenttunru.com",
      "hash": "5c3e4c55c1dc3c2ff81505c7d5d0d777c521c490",
      "subject": "Bug 2058421 - Pause animation on screen resize. r=urlbar-reviewers,desktop-theme-reviewers,dao"
    },
    "D314632": {
      "author": "Henri Sivonen",
      "avatar": "https://www.gravatar.com/avatar/66e59bea2fca6cc5d75e977b6b64be7a?d=identicon\u0026s=64",
      "cl": "D314632",
      "clUrl": "https://phabricator.services.mozilla.com/D314632",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D314632",
      "email": "hsivonen@hsivonen.fi",
      "hash": "937eecc494ff3bdd229a26ff89c5da0794ca61a2",
      "subject": "Bug 2053153 - Only check for high surrogates when intending to avoid split pair. r=mccr8"
    },
    "D314663": {
      "author": "Jeremy Swinarton",
      "avatar": "https://www.gravatar.com/avatar/d88d3fdf48ea609876f67ee42d980af2?d=identicon\u0026s=64",
      "cl": "D314663",
      "clUrl": "https://phabricator.services.mozilla.com/D314663",
      "description": "The vertical-tabs variant sets sidebar.verticalTabs for the entire run, so\ntabGroupPanelHorizontalOffsetOptions and tabGroupPanelHorizontalOpensWithOffset\ntook the vertical branch of TabGroupPanel.popupOptions and asserted against\nhorizontal expectations. Opt those tests out of vertical tabs explicitly.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D314663",
      "email": "jswinarton@mozilla.com",
      "hash": "b348d4de7eee9300f2cf5588ecb7b8d9ab679afc",
      "subject": "Bug 2058956: Force horizontal tabs in tab group preview horizontal offset tests r=sthompson,tabbrowser-reviewers"
    },
    "D314682": {
      "author": "Andrea Marchesini",
      "avatar": "https://www.gravatar.com/avatar/dfb8d0427dd67216b2664131a5c31421?d=identicon\u0026s=64",
      "cl": "D314682",
      "clUrl": "https://phabricator.services.mozilla.com/D314682",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D314682",
      "email": "amarchesini@mozilla.com",
      "hash": "25e5840e6015315485e2ededc45871aaba03db14",
      "subject": "Bug 2058198 - Improve the container tab strokes r=kcochrane,desktop-theme-reviewers,tabbrowser-reviewers,dao"
    },
    "D314926": {
      "author": "Olli Pettay",
      "avatar": "https://www.gravatar.com/avatar/13772facadedc1bff63debd9e596f5e2?d=identicon\u0026s=64",
      "cl": "D314926",
      "clUrl": "https://phabricator.services.mozilla.com/D314926",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D314926",
      "email": "Olli.Pettay@helsinki.fi",
      "hash": "38b2a5edc74052d013e5fc1f1474a36cc5a72d6a",
      "subject": "Bug 2058622, validate selected options entries, r=jjaschke"
    },
    "D314979": {
      "author": "Jeremy Swinarton",
      "avatar": "https://www.gravatar.com/avatar/d88d3fdf48ea609876f67ee42d980af2?d=identicon\u0026s=64",
      "cl": "D314979",
      "clUrl": "https://phabricator.services.mozilla.com/D314979",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D314979",
      "email": "jswinarton@mozilla.com",
      "hash": "16278aba3c60df46359e0925356293d1015edb81",
      "subject": "Bug 2048940: Match the spec for the about:opentabs heading r=desktop-theme-reviewers,tabbrowser-reviewers,kcochrane"
    },
    "D314986": {
      "author": "Sylvestre Ledru",
      "avatar": "https://www.gravatar.com/avatar/fb0fd07485efdfc05e02987075fdbab0?d=identicon\u0026s=64",
      "cl": "D314986",
      "clUrl": "https://phabricator.services.mozilla.com/D314986",
      "description": "The query in FetchMostFrecentSubPageIcon logged a storage warning:\n\n  Suboptimal indexes for the SQL statement `SELECT i.icon_url, i.id, ...\n  ORDER BY p.frecency DESC, i.width DESC LIMIT 1` [1 sort operation(s)]\n\nThe ORDER BY spans moz_places.frecency and moz_icons.width, two tables joined\nthrough the many-to-many moz_icons_to_pages, so no index can supply the\nordering: adding a compound moz_places(rev_host, frecency) index only turns\nUSE TEMP B-TREE FOR ORDER BY into USE TEMP B-TREE FOR LAST TERM OF ORDER BY.\n\nA single max() over a packed key expresses the same selection without a sort.\nmoz_icons.width is a uint16, so max(p.frecency * 65536 + i.width) ranks rows\nexactly like ORDER BY p.frecency DESC, i.width DESC, and the bare columns come\nfrom the winning row. HAVING count(*) \u003e 0 suppresses the all-NULL row that a\nbare aggregate would otherwise return when the host has no subpage with an\nicon.\n\nEXPLAIN QUERY PLAN on a real profile is identical to the previous statement\nminus USE TEMP B-TREE FOR ORDER BY. Verified equivalent over 800 randomized\ndifferential trials against the previous query, covering varying page counts,\nhosts, icon counts, frecency ties, negative frecency, icon-less pages and the\nboundary widths 0 and 65535. On a 242k-page profile, summed median latency over\nthe 15 hosts with the most pages: 121 ms before, 115 ms after.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D314986",
      "email": "sylvestre@debian.org",
      "hash": "d4cad3be6e1d5005e72f73a537bef86f0e0db500",
      "subject": "Bug 2058952 - Avoid a sort operation in the most-frecent-subpage icon query r=places-reviewers,mak"
    },
    "D315014": {
      "author": "Nikki Sharpley",
      "avatar": "https://www.gravatar.com/avatar/475216ceafd2f0f87e2621f9ef4fa0e1?d=identicon\u0026s=64",
      "cl": "D315014",
      "clUrl": "https://phabricator.services.mozilla.com/D315014",
      "description": "- \"quiet\" sign in button shows when there is a message/banner in the panel\n- sign in promo shows when there is no message/banner in the panel\n\nDifferential Revision: https://phabricator.services.mozilla.com/D315014",
      "email": "nsharpley@mozilla.com",
      "hash": "f60919b832ae584ee8cd332a518957b72941cb80",
      "subject": "Bug 2047635 - Implement conditional behavior for the Sign in promo in the app menu r=skhamis,fluent-reviewers,desktop-theme-reviewers,omc-reviewers,bolsson,hjones,mimi"
    },
    "D315079": {
      "author": "Leo Tenenbaum",
      "avatar": "https://www.gravatar.com/avatar/191826fbebe3973ebd6d6eb595ddb5c2?d=identicon\u0026s=64",
      "cl": "D315079",
      "clUrl": "https://phabricator.services.mozilla.com/D315079",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D315079",
      "email": "ltenenbaum@mozilla.com",
      "hash": "d2e68413e0199fe6025515cdbc4e907f3435762c",
      "subject": "Bug 2058611 - Clear form for element when insertion is aborted. r=hsivonen"
    },
    "D315084": {
      "author": "Drew Willcoxon",
      "avatar": "https://www.gravatar.com/avatar/fa60148022a230fe1bacc441549b1c66?d=identicon\u0026s=64",
      "cl": "D315084",
      "clUrl": "https://phabricator.services.mozilla.com/D315084",
      "description": "* Replace uses of `--focus-outline-color` with `--toolbar-field-border-color-focus`,\n  including the legacy search bar's outline (`browser.search.widget.new = false`)\n\n* Update the test so it checks the border rather than the outline when Nova is\n  enabled, since bug 2053381 changed the focus ring from an outline to a border\n  in Nova when the view is closed\n\nDifferential Revision: https://phabricator.services.mozilla.com/D315084",
      "email": "adw@mozilla.com",
      "hash": "46cc84554fb4f40b7cd8378ec42bd8593e2863cb",
      "subject": "Bug 2057938 - [Nova] Fix urlbar and legacy search bar focus ring color. r=dao,extension-reviewers,desktop-theme-reviewers,urlbar-reviewers,rpl"
    },
    "D315093": {
      "author": "Jonathan Sudiaman",
      "avatar": "https://www.gravatar.com/avatar/3ca705cbbd73ca8d2880c319b1d053a0?d=identicon\u0026s=64",
      "cl": "D315093",
      "clUrl": "https://phabricator.services.mozilla.com/D315093",
      "description": "Adds a pseudo-element to vertical new tab buttons (both in and out of overflow), which extends the click target horizontally to respond to clicks within the margins.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D315093",
      "email": "jsudiaman@mozilla.com",
      "hash": "73e13255ce6550e777d95b8c0bcd2942a4b4b36f",
      "subject": "Bug 1921959 - Fix new tab button in sidebar is not clickable from screen edges (Fitts' law) r=desktop-theme-reviewers,tabbrowser-reviewers,kcochrane"
    },
    "D315131": {
      "author": "tobypilling",
      "avatar": "https://www.gravatar.com/avatar/f012381e5d80c46990f9c7eaf9419f5d?d=identicon\u0026s=64",
      "cl": "D315131",
      "clUrl": "https://phabricator.services.mozilla.com/D315131",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D315131",
      "email": "toby@thunderbird.net",
      "hash": "43c75e4b6fbdf12c2dd3b1694cab0a104b6fbdba",
      "subject": "Bug 2059182 - Fix Thunderbird default theme Fluent localization. r=rpl"
    },
    "D315146": {
      "author": "Sammy Khamis",
      "avatar": "https://www.gravatar.com/avatar/8fe753dbe031a3e6a198606619cb5201?d=identicon\u0026s=64",
      "cl": "D315146",
      "clUrl": "https://phabricator.services.mozilla.com/D315146",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D315146",
      "email": "skhamis@mozilla.com",
      "hash": "0c4dc7a699697fb491e7e855b3273246a9716a6b",
      "subject": "Bug 2059270: Add dismissable sync promo to app menu bookmarks panel r=sync-reviewers,fluent-reviewers,places-reviewers,desktop-theme-reviewers,Standard8,tgiles,bolsson"
    },
    "D315290": {
      "author": "Kershaw Chang",
      "avatar": "https://www.gravatar.com/avatar/608e04ebca94be52b05c003d51d43e07?d=identicon\u0026s=64",
      "cl": "D315290",
      "clUrl": "https://phabricator.services.mozilla.com/D315290",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D315290",
      "email": "kershaw@mozilla.com",
      "hash": "1ad2adfbb763ce32ec9f873afd663940721de81a",
      "subject": "Bug 2059207 - Honor idExtension partition in the No-Vary-Search cache lookup, r=necko-reviewers,jesup"
    },
    "D315359": {
      "author": "Dão Gottwald",
      "avatar": "https://www.gravatar.com/avatar/45dfe136efbb8e5f89eb0b21775ab195?d=identicon\u0026s=64",
      "cl": "D315359",
      "clUrl": "https://phabricator.services.mozilla.com/D315359",
      "description": "A test fix. The loop clicks the addon row, which parks the pointer at that row's\ncentre. Row geometry shifts with each suggestion, so a later iteration's freshly\nbuilt row can land under the parked pointer and be genuinely hovered -- the bottom\nseparator and url are then correctly visible and the isHidden assertions fail.\nremovePseudoClassLock() does not help, since it drops the artificial lock rather\nthan real pointer hover.\n\nWorth knowing for similar triage: only the message path surfaces this, because its\nextra asynchrony leaves the real hover in effect when the assertions run, and only\nunder the proton manifest, whose row geometry differs from nova. Reading computed\nstyle before an assertion forces a flush that recomputes hover, so any probe placed\nthere makes the failure disappear.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D315359",
      "email": "dao@mozilla.com",
      "hash": "fbd0c82268fa59a97aa80db3fd6457357c6dbe22",
      "subject": "Bug 2051959 - [IPC Urlbar] Phase 6: Move the pointer off the addon row after clicking it. r=mbeier"
    },
    "D315360": {
      "author": "Dão Gottwald",
      "avatar": "https://www.gravatar.com/avatar/45dfe136efbb8e5f89eb0b21775ab195?d=identicon\u0026s=64",
      "cl": "D315360",
      "clUrl": "https://phabricator.services.mozilla.com/D315360",
      "description": "A test fix, using the helpers the dismissal wire-safety work added; this file never\nadopted them.\n\nThe dismissal awaited quicksuggest-dismissals-changed, which the parent observes,\nand then asserted the row had become a dismissalAcknowledgment tip. Over the wire\nthe engagement runs parent-side, calls removeResult and notifies back, so the row is\nreplaced a hop after that topic fires; it now also awaits onQueryResultRemoved. The\ntwo feedback-acknowledgment assertions read an attribute applied content-side, so\nthey wait on a mutation, matching browser_acknowledgeFeedbackAndDismissal.\n\nWorth knowing: this accounts for all ten failures the file showed over the wire.\ndontShow failed its tip assertions and never reached its cleanup, so suggest.weather\nstayed dismissed and four later tasks reported \"Not enough results\".\n\nDifferential Revision: https://phabricator.services.mozilla.com/D315360",
      "email": "dao@mozilla.com",
      "hash": "249843645f9610d55cfe605c6ff59fe19c47b705",
      "subject": "Bug 2051959 - [IPC Urlbar] Phase 6: Await the dismissal and acknowledgment effects in browser_weather.js. r=mbeier"
    },
    "D315361": {
      "author": "Dão Gottwald",
      "avatar": "https://www.gravatar.com/avatar/45dfe136efbb8e5f89eb0b21775ab195?d=identicon\u0026s=64",
      "cl": "D315361",
      "clUrl": "https://phabricator.services.mozilla.com/D315361",
      "description": "A test fix. Picking the opt-in's allow button restarts the query with the same\nkeyword, and that engagement runs parent-side, so over the wire the new query begins\nafter the pick returns. promiseSearchComplete() follows lastQueryContextPromise only\nwhile it changes, so it saw the query that had already completed and the assertions\nread pre-opt-in results: source \"rust\" for \"merino\", provider \"Dynamic\" for\n\"polygon\". The test now waits for onQueryFinished, armed before the pick.\n\nWorth knowing: this covers all eight failures the file showed over the wire.\noptIn_mouse failed before restoring quicksuggest.online.enabled, so optIn_keyboard\nthen found the market result where it expected the opt-in tip.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D315361",
      "email": "dao@mozilla.com",
      "hash": "bce64f7692b5d00ac33a62589431f17c894f5bb6",
      "subject": "Bug 2051959 - [IPC Urlbar] Phase 6: Await the restarted query after opting in, in browser_quicksuggest_realtime_optin.js. r=mbeier"
    },
    "D315402": {
      "author": "Ryan VanderMeulen",
      "avatar": "https://www.gravatar.com/avatar/51823ded02903fa76c961fe2a3c1318a?d=identicon\u0026s=64",
      "cl": "D315402",
      "clUrl": "https://phabricator.services.mozilla.com/D315402",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D315402",
      "email": "rvandermeulen@mozilla.com",
      "hash": "324c137b7b02210cff3ab519dafc962b3e2369be",
      "subject": "Bug 2059518 - Refresh Android lint baselines. r=android-reviewers,mcarare"
    },
    "D315403": {
      "author": "Ryan VanderMeulen",
      "avatar": "https://www.gravatar.com/avatar/51823ded02903fa76c961fe2a3c1318a?d=identicon\u0026s=64",
      "cl": "D315403",
      "clUrl": "https://phabricator.services.mozilla.com/D315403",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D315403",
      "email": "rvandermeulen@mozilla.com",
      "hash": "df229167d9efac0f416e21aed8f6f10b5ee354be",
      "subject": "Bug 2059518 - Use kotlin.test.assertNotNull in Android unit tests. r=android-reviewers,mcarare"
    },
    "D315404": {
      "author": "Ryan VanderMeulen",
      "avatar": "https://www.gravatar.com/avatar/51823ded02903fa76c961fe2a3c1318a?d=identicon\u0026s=64",
      "cl": "D315404",
      "clUrl": "https://phabricator.services.mozilla.com/D315404",
      "description": "- EmptySuperCall (Fenix): ProfilerViewModel no longer calls the empty ViewModel.onCleared()\n  superclass implementation.\n- CheckResult (Fenix): HomeScreenRobot called Espresso's ViewActions.swipeUp() from inside a Compose\n  performTouchInput block, which only builds a ViewAction and then discards it, so the fallback swipe\n  never actually ran. Importing the TouchInjectionScope extension of the same name makes the swipe\n  happen as intended.\n- UseOfNonLambdaOffsetOverload (Fenix): the research surface survey slide-in uses the lambda overload\n  of Modifier.offset, so the animated value is read while laying out rather than while composing.\n- LocalContextResourcesRead (samples): read resources through LocalResources rather than reaching for\n  them via LocalContext.\n- RtlSymmetry (Fenix, Focus): these layouts pad a single side deliberately, so say so with a local\n  suppression instead of carrying baseline entries.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D315404",
      "email": "rvandermeulen@mozilla.com",
      "hash": "c57275882888ef90182f9b54fd8082dd340661a1",
      "subject": "Bug 2059518 - Fix assorted Android lint findings. r=android-reviewers,mcarare"
    },
    "D315405": {
      "author": "Ryan VanderMeulen",
      "avatar": "https://www.gravatar.com/avatar/51823ded02903fa76c961fe2a3c1318a?d=identicon\u0026s=64",
      "cl": "D315405",
      "clUrl": "https://phabricator.services.mozilla.com/D315405",
      "description": "The check does not analyze dependencies and covers a single variant, so some of what it reports is\ngenuinely in use. The browser menu styles and the certificate error strings override android-components\ndefaults and are referenced only from there, and the per-variant text selection labels are referenced\nthrough manifestPlaceholders in build.gradle. Suppress the check in place on each of them, as Fenix already\ndoes for its own overrides, and drop the baseline entries. Bug 2056403 had to restore the menu styles after\nthey were deleted for looking unused, so this also keeps that from recurring.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D315405",
      "email": "rvandermeulen@mozilla.com",
      "hash": "9209572cacf7abc7e737acb3db20038bbe7da253",
      "subject": "Bug 2059518 - Suppress UnusedResources for the Focus resources that only look unused. r=android-reviewers,android-l10n-reviewers,mcarare,parker"
    },
    "D315406": {
      "author": "Ryan VanderMeulen",
      "avatar": "https://www.gravatar.com/avatar/51823ded02903fa76c961fe2a3c1318a?d=identicon\u0026s=64",
      "cl": "D315406",
      "clUrl": "https://phabricator.services.mozilla.com/D315406",
      "description": "None of these strings are referenced any more. Their localized copies are left alone, since the l10n\nimport drops those once the string is gone from the reference strings.xml, which means the localized files\nhold strings nothing references until it runs. Ignore UnusedResources for them and stop reporting\nExtraTranslation, as Fenix already does for the same reason. With nothing left baselined for the check,\nraise it to an error as well, matching Fenix.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D315406",
      "email": "rvandermeulen@mozilla.com",
      "hash": "bde0274931fa811b6df7f49e53e1bf887886470b",
      "subject": "Bug 2059518 - Remove unused Focus strings. r=android-reviewers,android-l10n-reviewers,parker,mcarare"
    },
    "D315407": {
      "author": "Ryan VanderMeulen",
      "avatar": "https://www.gravatar.com/avatar/51823ded02903fa76c961fe2a3c1318a?d=identicon\u0026s=64",
      "cl": "D315407",
      "clUrl": "https://phabricator.services.mozilla.com/D315407",
      "description": "UnusedQuantity and TypographyFractions fire on the localized strings, where the plural forms a language\nneeds and whether to use a fraction character are the translators' call, and where the files come from the\nl10n import rather than being edited here. Restrict both checks to the default strings, alongside the\nrelated checks that are already handled that way, and drop the baseline entries.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D315407",
      "email": "rvandermeulen@mozilla.com",
      "hash": "d0d8c04b85032c5bd92bbc60d0c73bfdfbeed6ce",
      "subject": "Bug 2059518 - Only check plural and fraction conventions in the default Fenix strings. r=android-reviewers,mcarare"
    },
    "D315514": {
      "author": "Mike Hommey",
      "avatar": "https://www.gravatar.com/avatar/59d6eb32b74180f9d3bde5a6f5c88eee?d=identicon\u0026s=64",
      "cl": "D315514",
      "clUrl": "https://phabricator.services.mozilla.com/D315514",
      "description": "windows.configure is included after the compiler checks, but the Windows\nSDK directory doesn't depend on the compiler in any way. Moving its\ndetection next to the other toolchain path lookups makes it available to\nthings that need to run before the first compiler invocation.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D315514",
      "email": "mhommey@mozilla.com",
      "hash": "85f1dec3295146187702c69eb4e3c434e27c290d",
      "subject": "Bug 2059623 - Move Windows SDK detection to windows-toolchain.configure. r=firefox-build-system-reviewers,ahochheiden"
    },
    "D315515": {
      "author": "Mike Hommey",
      "avatar": "https://www.gravatar.com/avatar/59d6eb32b74180f9d3bde5a6f5c88eee?d=identicon\u0026s=64",
      "cl": "D315515",
      "clUrl": "https://phabricator.services.mozilla.com/D315515",
      "description": "sccache only reads SCCACHE_BASEDIRS when its server starts, and the\nserver is started by the first sccache invocation, which, during\nconfigure, is one of the compiler checks. Because the variable was only\nexported from config.mk at build time, the daemon left running after\nconfigure had no base directories at all.\n\nCompute the value before the compiler checks and set it in the\nenvironment there, so that the daemon configure starts is configured\ncorrectly, and so that configure's own compilations get the same cache\nkeys as the build's.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D315515",
      "email": "mhommey@mozilla.com",
      "hash": "6dc4b2df63f0bec300bb9a260539d41e4e1a3a71",
      "subject": "Bug 2059623 - Set SCCACHE_BASEDIRS in the environment before invoking sccache. r=firefox-build-system-reviewers,ahochheiden"
    },
    "D315516": {
      "author": "Mike Hommey",
      "avatar": "https://www.gravatar.com/avatar/59d6eb32b74180f9d3bde5a6f5c88eee?d=identicon\u0026s=64",
      "cl": "D315516",
      "clUrl": "https://phabricator.services.mozilla.com/D315516",
      "description": "In automation, the daemon is started from client.mk so that it inherits\nmake's jobserver, but SCCACHE_BASEDIRS is a configure output and client.mk\nonly knows about mozconfig options, so the daemon was started without it.\nAdd it to the environment mach runs client.mk with.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D315516",
      "email": "mhommey@mozilla.com",
      "hash": "5aef16c9b58b3e5791f849bdabbf9affb4a96844",
      "subject": "Bug 2059623 - Pass SCCACHE_BASEDIRS to the sccache daemon managed by client.mk. r=firefox-build-system-reviewers,ahochheiden"
    },
    "D315522": {
      "author": "Drew Willcoxon",
      "avatar": "https://www.gravatar.com/avatar/fa60148022a230fe1bacc441549b1c66?d=identicon\u0026s=64",
      "cl": "D315522",
      "clUrl": "https://phabricator.services.mozilla.com/D315522",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D315522",
      "email": "adw@mozilla.com",
      "hash": "ba1b68685c9530ef03aefde1740d979f83caf00a",
      "subject": "Bug 2059635 - [Nova] Fix the urlbar top-pick icon border radius. r=dao,desktop-theme-reviewers,urlbar-reviewers"
    },
    "D315568": {
      "author": "Dão Gottwald",
      "avatar": "https://www.gravatar.com/avatar/45dfe136efbb8e5f89eb0b21775ab195?d=identicon\u0026s=64",
      "cl": "D315568",
      "clUrl": "https://phabricator.services.mozilla.com/D315568",
      "description": "The previews' flex-basis is content-based, and a flex container breaks lines\nfrom each item's hypothetical main size before any shrinking happens, so\nmin-width: 0 doesn't keep them on one line. Once their combined intrinsic width\nexceeds the panel's content box the last preview wraps. That happens on\nnarrower screens, where the fixed ~170px of padding, borders and panel chrome\neats the slack that scales with screen.availWidth, and whenever the popup can't\nget the width _openPanel asks for (under Wayland it is confined to the browser\nwindow). The panel is sized from its intrinsic height, measured at an\nunconstrained inline size where everything fits on one line, so the extra row\nis clipped rather than making the panel taller.\n\nA grid of previewColumnCount equal columns takes the row count out of the\nlayout's hands: the previews shrink at any panel width, and the intrinsic\nheight already accounts for the rows that will be rendered.\n\nOne deliberate rendering change to check: a partial last row (maxPreviews above\n7, e.g. 10 previews in rows of 7) now keeps the same preview width as the full\nrows instead of stretching to fill the panel.\n\nThe previewsContainer getter is behavior-neutral.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D315568",
      "email": "dao@mozilla.com",
      "hash": "8acd49d8e75d021872be9c064e8f161f380992b0",
      "subject": "Bug 2059696 - Lay out the Ctrl-Tab previews in a grid so they shrink instead of wrapping. r=emilio,desktop-theme-reviewers"
    },
    "D315592": {
      "author": "Gijs Kruitbosch",
      "avatar": "https://www.gravatar.com/avatar/410fad5de3812b3810955d277445bced?d=identicon\u0026s=64",
      "cl": "D315592",
      "clUrl": "https://phabricator.services.mozilla.com/D315592",
      "description": "The `.tooltip-label` word-wrap rule lived in global-shared.css, which is a\ndocument-level (author) sheet. The default tooltip created by nsCanvasFrame is\ndocument-level native-anonymous content and does not pick up document-level\nstyles, so it didn't apply there.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D315592",
      "email": "gijskruitbosch@gmail.com",
      "hash": "efe74072c41c03e40886ad66c042965775f52177",
      "subject": "Bug 2041996 - Move tooltip-label word-wrap/min-width to xul.css so the default (native-anonymous) tooltip wraps long text, r=desktop-theme-reviewers,dao"
    },
    "D315629": {
      "author": "Nicholas Poon",
      "avatar": "https://www.gravatar.com/avatar/de8191595cff0507f38ca784b6613551?d=identicon\u0026s=64",
      "cl": "D315629",
      "clUrl": "https://phabricator.services.mozilla.com/D315629",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D315629",
      "email": "npoon@mozilla.com",
      "hash": "13a3aca76194280f2e632c7ed7b31c8ded1987cf",
      "subject": "Bug 2057785 - Change trending search icon to mozac_ic_arrow_trending_24 r=android-reviewers,gl"
    },
    "D315637": {
      "author": "Leo Tenenbaum",
      "avatar": "https://www.gravatar.com/avatar/191826fbebe3973ebd6d6eb595ddb5c2?d=identicon\u0026s=64",
      "cl": "D315637",
      "clUrl": "https://phabricator.services.mozilla.com/D315637",
      "description": "This ensures that we create the \u003cbr\u003e element to make the invisible line visible.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D315637",
      "email": "ltenenbaum@mozilla.com",
      "hash": "f48fb10feb11f343af68875c6a7b7e1d2d9ffc46",
      "subject": "Bug 1969451 - Set mDidDeleteNonCollapsedRange to true when non-collapsed range is deleted in HandleDeleteTextAroundCollapsedRanges. r=masayuki"
    },
    "D315723": {
      "author": "Michael Kaply",
      "avatar": "https://www.gravatar.com/avatar/dc84c7d304a23e0a62a86580dd08c587?d=identicon\u0026s=64",
      "cl": "D315723",
      "clUrl": "https://phabricator.services.mozilla.com/D315723",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D315723",
      "email": "mozilla@kaply.com",
      "hash": "635d57a16e7dfb3c091a5b5800cb19a7a39f33ff",
      "subject": "Bug 2059825 - Use Cu.isInAutomation for enterprise policy test overrides. r=jmendez"
    },
    "D315802": {
      "author": "Emilio Cobos Álvarez",
      "avatar": "https://www.gravatar.com/avatar/1d91d22a4892f16f744b31fd4286144e?d=identicon\u0026s=64",
      "cl": "D315802",
      "clUrl": "https://phabricator.services.mozilla.com/D315802",
      "description": "Right now we disable it too late, by the point we've already applied the\npersistent attributes, which causes the styling we use for the initial\nload to be wrong (which causes some test failures with the changes from\nbug 2054183).\n\nUse the chrome flags to determine whether we need persistence instead.\n\nI'd use a separate flag or so, but I think we're out of bits, I'd need\nto harvest some or expand it or something. Can look into it next week.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D315802",
      "email": "emilio@crisal.io",
      "hash": "c7d60f29170c060ca443811363c740901a73fcab",
      "subject": "Bug 2059942 - Disable persistence earlier for popups. r=smaug"
    },
    "D315875": {
      "author": "Max Inden",
      "avatar": "https://www.gravatar.com/avatar/ec7202f5ae48eecc36b07aaa371fab12?d=identicon\u0026s=64",
      "cl": "D315875",
      "clUrl": "https://phabricator.services.mozilla.com/D315875",
      "description": "The networking.http_3_connection_close_reason counter was only recorded in\nthe Closing branch of the neqo_glue state-change handler. Closes that go\nstraight to Closed without a closing handshake, such as an idle timeout,\nnever reached that branch, so their reasons went uncounted and the\nIdleTimeout bucket stayed empty.\n\nRecord the reason from both the Closing and Closed state changes, guarded by\na per-connection flag so a connection that surfaces both is counted once. A\nclose that goes through a handshake is still counted at Closing exactly as\nbefore; a close that skips it is now counted at Closed.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D315875",
      "email": "mail@max-inden.de",
      "hash": "3def04e4f7f66773233bf4af68eda79d7749bbd1",
      "subject": "Bug 2060060 - Record HTTP/3 connection close reason for closes that skip Closing r=valentin,necko-reviewers"
    },
    "D315885": {
      "author": "Gabriel Luong",
      "avatar": "https://www.gravatar.com/avatar/8d4b3dd6d3dd0178956876e108d984c6?d=identicon\u0026s=64",
      "cl": "D315885",
      "clUrl": "https://phabricator.services.mozilla.com/D315885",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D315885",
      "email": "gabriel.luong@gmail.com",
      "hash": "9bf7876ab0d9bb4d5291e6beaf77e1304fbf86f8",
      "subject": "Bug 2056710 - Add a Nimbus flag and Secret Setting for the Homepage Weather Widget r=android-reviewers,npoon"
    },
    "D315894": {
      "author": "Emilio Cobos Álvarez",
      "avatar": "https://www.gravatar.com/avatar/1d91d22a4892f16f744b31fd4286144e?d=identicon\u0026s=64",
      "cl": "D315894",
      "clUrl": "https://phabricator.services.mozilla.com/D315894",
      "description": "We can just check the persist attribute is the expected value.\n\nDo some auxiliary clean-up while at it (most of the strings were\nunused).\n\nDifferential Revision: https://phabricator.services.mozilla.com/D315894",
      "email": "emilio@crisal.io",
      "hash": "c3106d4a0e323a642069da542fb4b4b087fdd2c9",
      "subject": "Bug 2059942 - Remove getPersistence as well. r=smaug"
    },
    "D315896": {
      "author": "Emilio Cobos Álvarez",
      "avatar": "https://www.gravatar.com/avatar/1d91d22a4892f16f744b31fd4286144e?d=identicon\u0026s=64",
      "cl": "D315896",
      "clUrl": "https://phabricator.services.mozilla.com/D315896",
      "description": "No flag sets it and all the consumers pass it one way or another so we\ncan just remove it.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D315896",
      "email": "emilio@crisal.io",
      "hash": "00c837bd6da4d7a34db448c3701f6e19a423dc0d",
      "subject": "Bug 2060381 - Remove CHROME_WINDOW_BORDERS. r=smaug"
    },
    "D315897": {
      "author": "Emilio Cobos Álvarez",
      "avatar": "https://www.gravatar.com/avatar/1d91d22a4892f16f744b31fd4286144e?d=identicon\u0026s=64",
      "cl": "D315897",
      "clUrl": "https://phabricator.services.mozilla.com/D315897",
      "description": "It's unused in Firefox (nothing uses chrome-statusbar).\n\nThunderbird has some but never disables it.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D315897",
      "email": "emilio@crisal.io",
      "hash": "cc2423df83964232fa456098a0dc3a283a18dad6",
      "subject": "Bug 2060381 - Remove CHROME_STATUSBAR. r=smaug,sthompson,vhilla"
    },
    "D315939": {
      "author": "Henri Sivonen",
      "avatar": "https://www.gravatar.com/avatar/66e59bea2fca6cc5d75e977b6b64be7a?d=identicon\u0026s=64",
      "cl": "D315939",
      "clUrl": "https://phabricator.services.mozilla.com/D315939",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D315939",
      "email": "hsivonen@hsivonen.fi",
      "hash": "cd3f9dea827ea23c7769b1a12ccd6fe117e6ceed",
      "subject": "Bug 2015199 test - Add crashtest. r=smaug"
    },
    "D315942": {
      "author": "Lee Salzman",
      "avatar": "https://www.gravatar.com/avatar/029a38b9773f1943419c24b7c3d93761?d=identicon\u0026s=64",
      "cl": "D315942",
      "clUrl": "https://phabricator.services.mozilla.com/D315942",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D315942",
      "email": "lsalzman@mozilla.com",
      "hash": "373c8e078e64ccc0ad9df7d4e4737fc71b916c55",
      "subject": "Bug 2060000. r=gfx-reviewers,nical"
    },
    "D315953": {
      "author": "smayya",
      "avatar": "https://www.gravatar.com/avatar/b032108dab3ccfada1140fb485c6e182?d=identicon\u0026s=64",
      "cl": "D315953",
      "clUrl": "https://phabricator.services.mozilla.com/D315953",
      "description": "Android 17 enforces OS-level Local Network Protection: a TCP connect() to\na local-network address is silently blocked unless the app holds\nACCESS_LOCAL_NETWORK/NEARBY_DEVICES (see\nhttps://developer.android.com/privacy-and-security/local-network-permission#strategy-by-use-case).\nFirefox's own LNA prompt only triggers after a successful connect, so this\nOS-level block never reaches that check and the load just fails with no\npath forward for the user.\n\nAdd an Android-only helper, netwerk/system/android/AndroidNetworkBlockedReason.{h,cpp},\nthat asks the OS directly via android_getnetworkblockedreason()\n(dlsym-resolved against libandroid.so, since the NDK doesn't declare it\nyet) whether a failed TCP connect in nsSocketTransport2.cpp was caused by\nthis block, failing it with a new, distinct\nNS_ERROR_OS_LOCAL_NETWORK_ACCESS_DENIED. A follow-up commit teaches\nnsDocShell and GeckoView to recognize it.\n\nQUIC/HTTP3 isn't detected separately: per Android's guidance (same link\nabove), a blocked UDP send just returns EPERM with no reliable way to\nattribute it specifically to this block, and necko already retries a\nfailed HTTP3 connection over TCP, which hits this same detection.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D315953",
      "email": "smayya@mozilla.com",
      "hash": "349363282806ab38756c827feeac9fb99cb55f4d",
      "subject": "Bug 2053432 - Detect Android 17 Local Network Protection blocking TCP connections. r=necko-reviewers,valentin"
    },
    "D315954": {
      "author": "smayya",
      "avatar": "https://www.gravatar.com/avatar/b032108dab3ccfada1140fb485c6e182?d=identicon\u0026s=64",
      "cl": "D315954",
      "clUrl": "https://phabricator.services.mozilla.com/D315954",
      "description": "NS_ERROR_OS_LOCAL_NETWORK_ACCESS_DENIED was silently rewritten to NS_OK\nbefore reaching nsDocShell's error handling, so GeckoView's onLoadError\nnever fired for it.\n\nAdd it to FilterStatusForErrorPage's allowlist and to DisplayLoadError's\nclassification (temporarily grouped with NS_ERROR_NET_RESET, see TODO).\nBug 2057481 will intercept it in GeckoEngineSession.onLoadError()\n(android-components) to prompt for the nearby devices permission and\nreload on grant.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D315954",
      "email": "smayya@mozilla.com",
      "hash": "0d8b5ee3d4b9fbed415f788857cde22e423082b0",
      "subject": "Bug 2053432 - Surface OS-level Local Network Protection failures to GeckoView's onLoadError. r=dom-core-reviewers,smaug"
    },
    "D315960": {
      "author": "Mark Banner",
      "avatar": "https://www.gravatar.com/avatar/97526b10278bf7be90be23244678debe?d=identicon\u0026s=64",
      "cl": "D315960",
      "clUrl": "https://phabricator.services.mozilla.com/D315960",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D315960",
      "email": "standard8@mozilla.com",
      "hash": "700ecbb8d93230d7cf63f8b73a5366743495666d",
      "subject": "Bug 2059751 - Vendor eslint-plugin-sdl's no-insecure-url rule. r=frontend-codestyle-reviewers,mossop"
    },
    "D315961": {
      "author": "Mark Banner",
      "avatar": "https://www.gravatar.com/avatar/97526b10278bf7be90be23244678debe?d=identicon\u0026s=64",
      "cl": "D315961",
      "clUrl": "https://phabricator.services.mozilla.com/D315961",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D315961",
      "email": "standard8@mozilla.com",
      "hash": "5d4faac56ff1f1996bfc1a22d1f6e700b17c56a0",
      "subject": "Bug 2059751 - Rename ESLint exclusions for the eslint-plugin-sdl rule now that it is vendored. r=frontend-codestyle-reviewers,perftest-reviewers,mossop,sparky"
    },
    "D316003": {
      "author": "Jon Coppeard",
      "avatar": "https://www.gravatar.com/avatar/c9ec760b0d3a20a6775614baa4086871?d=identicon\u0026s=64",
      "cl": "D316003",
      "clUrl": "https://phabricator.services.mozilla.com/D316003",
      "description": "The patch allows enabling concurrent marking zeal mode before concurrent\nmarking is enabled, as happens when the zeal mode is enabled from the\nenvironment options and concurrent marking is enabled by a command line flag.\nThe zeal mode does nothing until concurrent marking is enabled.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D316003",
      "email": "jcoppeard@mozilla.com",
      "hash": "72f73c6e2594b99b8804f6e084a20f8e6f83a21c",
      "subject": "Bug 2060184 - Fix concurrent marking zeal mode r=sfink"
    },
    "D316004": {
      "author": "Jon Coppeard",
      "avatar": "https://www.gravatar.com/avatar/c9ec760b0d3a20a6775614baa4086871?d=identicon\u0026s=64",
      "cl": "D316004",
      "clUrl": "https://phabricator.services.mozilla.com/D316004",
      "description": "Also check for ongoing flattening when checking rope flags during marking.\n\nWe have to set a flattening flag on the rope's root node for this to work, but\nthis flag is never checked by flattening and is overwritten at the end.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D316004",
      "email": "jcoppeard@mozilla.com",
      "hash": "af9b8f08699c3ad1abf77f7b8121f5a8b07c15fa",
      "subject": "Bug 2060121 - Fix concurrent rope marking r=sfink"
    },
    "D316007": {
      "author": "Anna Weine",
      "avatar": "https://www.gravatar.com/avatar/99c4bba5c9c286febe66fd11d7ca2edf?d=identicon\u0026s=64",
      "cl": "D316007",
      "clUrl": "https://phabricator.services.mozilla.com/D316007",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D316007",
      "email": "anna.weine@mozilla.com",
      "hash": "ee4c8bbf12af62d77b8121a36cf97bf5443a49a0",
      "subject": "Bug 2060226 - [WebCrypto] Return the same error PublicKeyToJwk returns instead of overriding it with OperationError r=nss-reviewers,keeler"
    },
    "D316008": {
      "author": "elkal98",
      "avatar": "https://www.gravatar.com/avatar/1a61bfcc43ac59847a61d90806011fa2?d=identicon\u0026s=64",
      "cl": "D316008",
      "clUrl": "https://phabricator.services.mozilla.com/D316008",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D316008",
      "email": "khalid.alhaddad98@gmail.com",
      "hash": "02f01a7f850286a5cf4bf52a3335d5c0f11581a3",
      "subject": "Bug 2041335 - Stop using enterNestedEventLoop in webdriver bidi debugging module. r=jdescottes"
    },
    "D316024": {
      "author": "Yoshi Cheng-Hao Huang",
      "avatar": "https://www.gravatar.com/avatar/0363e83e6e847e7090abbbafb08716ee?d=identicon\u0026s=64",
      "cl": "D316024",
      "clUrl": "https://phabricator.services.mozilla.com/D316024",
      "description": "A dynamic import has two error cases:\n1. Failing to fetch/compile the dynamically imported module script itself,\n   which is handled in OnFetchFailed.\n2. Failing to load the module script's dependencies, which is handled in\n   OnLoadRequestedModulesRejected.\n\nBoth reject the promise of the dynamic import, but only the first one is\ncovered by ModuleLoadRequest::IsErrored(), so for the second case\nProcessDynamicImport went on to call FinishLoadingImportedModule() for an\nimport that was already rejected.\n\nAlso clear the import in OnLoadRequestedModulesRejected, so that the payload is\nnot kept alive until the request dies.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D316024",
      "email": "allstars.chh@gmail.com",
      "hash": "405261caa0a8e2856f6c8749ce639f98faf3c83c",
      "subject": "Bug 2060238 - Bail out in ProcessDynamicImport when loading the imports failed. r=jonco"
    },
    "D316034": {
      "author": "Emilio Cobos Álvarez",
      "avatar": "https://www.gravatar.com/avatar/1d91d22a4892f16f744b31fd4286144e?d=identicon\u0026s=64",
      "cl": "D316034",
      "clUrl": "https://phabricator.services.mozilla.com/D316034",
      "description": "Various calc() simplification steps could throw away the anchor-size()\nfunction. Since it's only an optimization to keep track whether there's\nany anchor-size(), just deal with the simplification having thrown it\naway.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D316034",
      "email": "emilio@crisal.io",
      "hash": "2370867dfac51e5ea0848bc01f43ae294af1212e",
      "subject": "Bug 2058616 - Don't crash on simplified-out anchor-pos functions. r=TYLin"
    },
    "D316037": {
      "author": "Emilio Cobos Álvarez",
      "avatar": "https://www.gravatar.com/avatar/1d91d22a4892f16f744b31fd4286144e?d=identicon\u0026s=64",
      "cl": "D316037",
      "clUrl": "https://phabricator.services.mozilla.com/D316037",
      "description": "Noticed while working on bug 2059942.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D316037",
      "email": "emilio@crisal.io",
      "hash": "be778d59e348052882cf0adc58bfe4664e0d8e24",
      "subject": "Bug 2060383 - Remove unused aModifiers argument to content chrome flags computation. r=smaug"
    },
    "D316045": {
      "author": "Moritz Beier",
      "avatar": "https://www.gravatar.com/avatar/db9378640c16b8cdcfcebed97713987a?d=identicon\u0026s=64",
      "cl": "D316045",
      "clUrl": "https://phabricator.services.mozilla.com/D316045",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D316045",
      "email": "mbeier@mozilla.com",
      "hash": "440af657f04017c189c727e595299d9353f1e3f6",
      "subject": "Bug 2060271 - Use REGEXP_SPACES from UrlbarShared instead of UrlUtils in UrlbarTelemetryUtils. r=dao,urlbar-reviewers"
    },
    "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.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D316060",
      "email": "jcoppeard@mozilla.com",
      "hash": "e147abd1835914d11ca6bdf9ab3f2e15688f3053",
      "subject": "Bug 2057457 - Ensure we don't lose atom references for symbol weak edges r=sfink"
    },
    "D316095": {
      "author": "Sylvestre Ledru",
      "avatar": "https://www.gravatar.com/avatar/b6fbd3ee98aa6283cb2b67cea0d590cc?d=identicon\u0026s=64",
      "cl": "D316095",
      "clUrl": "https://phabricator.services.mozilla.com/D316095",
      "description": "The view/ top-level directory no longer exists in the Firefox repository.\nThe View System code was absorbed into layout/base/ and layout/painting/.\nUpdate the 'Core: View System' module includes accordingly.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D316095",
      "email": "sylvestre@ledru.info",
      "hash": "ea5bd08efcb989ca7b737fe47842fd9b082e686e",
      "subject": "Bug 2060259 - mots.yaml: replace removed view/ with layout/base/ and layout/painting/ r=shtrom DONTBUILD"
    },
    "D316099": {
      "author": "Dão Gottwald",
      "avatar": "https://www.gravatar.com/avatar/45dfe136efbb8e5f89eb0b21775ab195?d=identicon\u0026s=64",
      "cl": "D316099",
      "clUrl": "https://phabricator.services.mozilla.com/D316099",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D316099",
      "email": "dao@mozilla.com",
      "hash": "b99b8c6219faf73f2cc856dcecf273697472d5f8",
      "subject": "Bug 2054344 - Don't reserve space for clear button when placeholder is shown in the search bar. r=emilio,desktop-theme-reviewers"
    },
    "D316117": {
      "author": "Glenn Watson",
      "avatar": "https://www.gravatar.com/avatar/3d823baa293744dbe3cbe8ce33d77065?d=identicon\u0026s=64",
      "cl": "D316117",
      "clUrl": "https://phabricator.services.mozilla.com/D316117",
      "description": "The device glyph path has the shader map each glyph's device rect back to local\nspace with the full 4x4 inverse, z forced to 0. That only inverts how the\ntransform maps the glyphs' z=0 plane while the third row or the third column is\nentirely zero; when both carry terms the round trip displaces the quad and\noffsets its UV fraction, shaving a slice off every glyph. A perspective paired\nwith a translateZ hits this (bug 2052019 let it onto the path), and so does any\n3D rotation, which has been broken since bug 2044211.\n\nGate on is_2d_on_z_plane() instead of has_2d_plane_perspective(): the transform\nmust map that plane, and invert it, exactly as its 2D terms would. Requiring\nm44 == 1 as well keeps the fix CPU-side, with no shader change. A flat\nperspective and a bare translateZ each stay on the sharp device path; pairing\nthem, a 3D rotation, or a matrix3d with a constant w != 1 now rasterize in local\nspace.\n\nperspective-clip.png goes back to its pre-bug-2052019 rendering, since that\ntest's matrix pairs a perspective with a translateZ.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D316117",
      "email": "git@chillybin.org",
      "hash": "38f6abc7ac1b06f2ca7b59fdd066befd3330e84e",
      "subject": "Bug 2060342 - Keep 3D-transformed text off the device glyph path r=gfx-reviewers,lsalzman"
    },
    "D316131": {
      "author": "Glenn Watson",
      "avatar": "https://www.gravatar.com/avatar/3d823baa293744dbe3cbe8ce33d77065?d=identicon\u0026s=64",
      "cl": "D316131",
      "clUrl": "https://phabricator.services.mozilla.com/D316131",
      "description": "A picture surface's contents are coplanar (z=0) in its own space, so the\nperspective divide over them is w = x*m14 + y*m24 + m44. When m14 and m24\nare both zero -- which is the case for a plain perspective or perspective()\napplied to flat content -- w is constant and the surface is mapped by a 2D\naffine transform, for which exact scale factors exist. Only a true keystone\nhas no single reasonable scale, so restrict the (1,1) fallback to that case.\n\nPreviously any matrix with a perspective component was rasterized at the\nparent's scale, so an image scaled up inside a perspective + preserve-3d\nwrapper was rasterized at device scale and then bilinear-upscaled, losing\nimage-rendering: pixelated.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D316131",
      "email": "git@chillybin.org",
      "hash": "174534f884b455ab756906061f46c07c62f234cf",
      "subject": "Bug 2060361 - Use exact scale factors for perspective surfaces that map coplanar content affinely r=gfx-reviewers,lsalzman"
    },
    "D316138": {
      "author": "Updatebot",
      "avatar": "https://www.gravatar.com/avatar/cd270ac15e761e2d4c08e9c9b7cfecca?d=identicon\u0026s=64",
      "cl": "D316138",
      "clUrl": "https://phabricator.services.mozilla.com/D316138",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D316138",
      "email": "updatebot@mozilla.com",
      "hash": "adc59d141538d065ed8fa5cfc20c663103c81bdc",
      "subject": "Bug 2060407 - Update PDF.js to b4ba666b0c917b56acc05d3305e53958ee8c11de r=pdfjs-reviewers,calixte"
    },
    "D316139": {
      "author": "Drew Willcoxon",
      "avatar": "https://www.gravatar.com/avatar/fa60148022a230fe1bacc441549b1c66?d=identicon\u0026s=64",
      "cl": "D316139",
      "clUrl": "https://phabricator.services.mozilla.com/D316139",
      "description": "The test hangs while waiting for the mouseover event. It's not related to Nova\nat all and can be reproduced with Proton. The problem seems to be entirely with\nsynthesizing the event properly and not a defect in Firefox.\n\nI tried a number of things to fix it and ended up with this. At first I fixed\nthe Linux hang but either caused or revealed a hang on Windows in verify mode.\n\nThe changes related to checking if the panel is visible are due to the task that\ndouble-clicks the star button. Double-clicking the button closes the panel, so\nthere was a race between that and waiting for the mouseout event to close it.\n\nGreen try push:\n\nhttps://treeherder.mozilla.org/jobs?repo=try\u0026revision=5cc65c9b4e614b336ec57c86b949c62894e6a7d1\n\nPrevious try pushes with older versions of this patch that still had Windows\nfailures:\n\nhttps://treeherder.mozilla.org/jobs?repo=try\u0026revision=b041bfdd9720f24a1a83f1a2bffbe3f383854ac9\u0026selectedTaskRun=LyhcCPxYQKaLyifu9JG3iQ.0\n\nhttps://treeherder.mozilla.org/jobs?repo=try\u0026revision=94253648d8212c9852c827b2e40efa7fde120307\u0026selectedTaskRun=O02oxeC8QyeTdOnwdBgNxA.0\n\nhttps://treeherder.mozilla.org/jobs?repo=try\u0026revision=67dae93dd4b3e65587633acb10aa6cd17e51c9a6\n\nDifferential Revision: https://phabricator.services.mozilla.com/D316139",
      "email": "adw@mozilla.com",
      "hash": "c6e747398811f7f821063d2af472eaabe4808ed2",
      "subject": "Bug 2057847 - Fix and re-enable test browser_bookmark_popup.js. r=places-reviewers,daisuke"
    },
    "D316140": {
      "author": "Jed Davis",
      "avatar": "https://www.gravatar.com/avatar/0e698ba5145076e93cadb50d6e22edcf?d=identicon\u0026s=64",
      "cl": "D316140",
      "clUrl": "https://phabricator.services.mozilla.com/D316140",
      "description": "Nova is a Firefox frontend revamp, and `browser_sandbox_test` is a suite\nof lower-level sandbox policy tests written in C++, so any failures were\nlikely coincidental, and we should reenable the test and investigate any\nnew failures that result.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D316140",
      "email": "jld@mozilla.com",
      "hash": "28b5e86da948982342836c3cca50049659f0dc70",
      "subject": "Bug 2057884 - Reenable `browser_sandbox_test` under Nova. r=sandbox-reviewers,bobowen"
    },
    "D316142": {
      "author": "Ryan VanderMeulen",
      "avatar": "https://www.gravatar.com/avatar/51823ded02903fa76c961fe2a3c1318a?d=identicon\u0026s=64",
      "cl": "D316142",
      "clUrl": "https://phabricator.services.mozilla.com/D316142",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D316142",
      "email": "rvandermeulen@mozilla.com",
      "hash": "2992f48763f51c2b16fee23ac878bd5f478a88a1",
      "subject": "Bug 2060410 - Update KSP to version 2.3.11. r=android-reviewers,mcarare"
    },
    "D316143": {
      "author": "Ryan VanderMeulen",
      "avatar": "https://www.gravatar.com/avatar/51823ded02903fa76c961fe2a3c1318a?d=identicon\u0026s=64",
      "cl": "D316143",
      "clUrl": "https://phabricator.services.mozilla.com/D316143",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D316143",
      "email": "rvandermeulen@mozilla.com",
      "hash": "28e46d6883ab738795318059981f3279abf00096",
      "subject": "Bug 2060411 - Update Sentry to version 8.51.0. r=android-reviewers,mcarare"
    },
    "D316189": {
      "author": "Mark Hammond",
      "avatar": "https://www.gravatar.com/avatar/892812c8e0a35b4cc1b131ad00c2ebbc?d=identicon\u0026s=64",
      "cl": "D316189",
      "clUrl": "https://phabricator.services.mozilla.com/D316189",
      "description": "I find this \"white listing\" of exceptions a little odd but it clearly needs `Forbidden`\n\nDifferential Revision: https://phabricator.services.mozilla.com/D316189",
      "email": "mhammond@skippinet.com.au",
      "hash": "35f817d62c409fe07b008486b797d92bbbf29a04",
      "subject": "Bug 2048869 - FxaException.Forbidden shouldn't crash Fenix. r=sfamisa,android-reviewers"
    },
    "D316192": {
      "author": "Nicolas Chevobbe",
      "avatar": "https://www.gravatar.com/avatar/f942478f2eaeb6cc42142cdd661976a7?d=identicon\u0026s=64",
      "cl": "D316192",
      "clUrl": "https://phabricator.services.mozilla.com/D316192",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D316192",
      "email": "nchevobbe@mozilla.com",
      "hash": "3dfb63dc144dc212a998d0f813a611ee0b315417",
      "subject": "Bug 2059666 - [devtools] Improve contrast for .jsonParseError. r=devtools-reviewers,bomsy."
    },
    "D316209": {
      "author": "Jamie Nicol",
      "avatar": "https://www.gravatar.com/avatar/8dd660b6c636b9880700591432e5eb21?d=identicon\u0026s=64",
      "cl": "D316209",
      "clUrl": "https://phabricator.services.mozilla.com/D316209",
      "description": "The gpu buffer texture is allocated by rounding the required size up\nto a multiple of 8. It gets evicted when for 10 consecutive frames the\ncurrent texture height is more than twice the required height.\n\nAt small heights, such as 3, this results in reallocating an 8 pixel\ntall texture every 10th frame.\n\nThis patch makes it so that we only evict the existing texture if its\nreplacement would actually be smaller, avoiding reallocation churn at\nsmall sizes.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D316209",
      "email": "jnicol@mozilla.com",
      "hash": "8e824610f738d8109072a95b7a65223297f07f1e",
      "subject": "Bug 2060453 - Only evict GPU buffer texture if replacement would be smaller. r=gfx-reviewers,bradwerth"
    },
    "D316224": {
      "author": "Mike Hommey",
      "avatar": "https://www.gravatar.com/avatar/5d5f37905f36ca9989f88861a702cff3?d=identicon\u0026s=64",
      "cl": "D316224",
      "clUrl": "https://phabricator.services.mozilla.com/D316224",
      "description": "None of the mozcheck-backed linters declare a `setup` key, so\nmozcheck:setup, which calls _find_mozcheck_binary() and possibly\nbootstraps mozcheck doesn't run before mozlint runs the linters.\n\nmozlint runs linters in a ProcessPoolExecutor, and all those processes\nmay end up calling _find_mozcheck_binary() themselves at the same time.\nIn that case, they may all run `mach taskgraph tasks`, in turn running\n`hg` and later possibly `cargo`. In some cases, that could lead to\nrandom failures.\n\nBy declaring mozcheck:setup as a setup for all the linters, the binary\nis now resolved (and possibly bootstrapped) only once, before linter\nprocesses are spawn.\n\n`setup` and `lint` also have to agree on the root they pass down, or\n_get_mozcheck_target_dir() can hand them two different target directories and\nthe workers end up rebuilding anyway; both now go through _resolve_root().\n\nDifferential Revision: https://phabricator.services.mozilla.com/D316224",
      "email": "mh+mozilla@glandium.org",
      "hash": "b0e2f7838f59d0bcadac14ee7eec586a7916de0e",
      "subject": "Bug 2058685 - Resolve the mozcheck binary in mozlint's parent process r=linter-reviewers,sylvestre"
    },
    "D316226": {
      "author": "Julian Descottes",
      "avatar": "https://www.gravatar.com/avatar/60dd86ccfd9c63b53e9f2a34b2f48442?d=identicon\u0026s=64",
      "cl": "D316226",
      "clUrl": "https://phabricator.services.mozilla.com/D316226",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D316226",
      "email": "jdescottes@mozilla.com",
      "hash": "06daa464cf53474d8888360e6c2993db6b1161b9",
      "subject": "Bug 2060469 - [DevTools Release Tasks - Cycle 155] Update MDN compat data r=devtools-reviewers,nchevobbe"
    },
    "D316274": {
      "author": "Emilio Cobos Álvarez",
      "avatar": "https://www.gravatar.com/avatar/1d91d22a4892f16f744b31fd4286144e?d=identicon\u0026s=64",
      "cl": "D316274",
      "clUrl": "https://phabricator.services.mozilla.com/D316274",
      "description": "Also while at it be clearer about hashing in SVGImageContext, since it\nlooks like we'd be hashing hashes :)\n\nDifferential Revision: https://phabricator.services.mozilla.com/D316274",
      "email": "emilio@crisal.io",
      "hash": "073a8207b94ba3f9a50d43f86561873c35e9d67f",
      "subject": "Bug 2048635 - Don't allow param(--foo) in link-parameters. r=firefox-style-system-reviewers,firefox-svg-reviewers,dshin,longsonr"
    },
    "D316278": {
      "author": "Jamie Nicol",
      "avatar": "https://www.gravatar.com/avatar/8dd660b6c636b9880700591432e5eb21?d=identicon\u0026s=64",
      "cl": "D316278",
      "clUrl": "https://phabricator.services.mozilla.com/D316278",
      "description": "When webrender binds a native picture cache tile, the compositor will\nin some cases blit regions from the tile surface used for the previous\nframe to the tile surface being used for the current frame. This\nensures webrender only needs to render the current frame's dirty\nregion to the tile.\n\nBoth NativeLayerCA and NativeLayerWayland do so by calling\nGLBlitHelper::BlitFramebufferToFramebuffer(). This binds the required\ndraw and read framebuffers, and then restores the previous bindings\nafter performing the blit. draw_picture_cache_target() will then\nimmediately bind the tile surface's FBO again, before rendering the\ntile.\n\nOn Metal ANGLE, we observe that the first draw performed in\ndraw_picture_cache_target() (usually glClear()) causes ANGLE to end\nencoding the previous command buffer (containing the blits) and start\nencoding a new one. This is because the draw framebuffer was changed\nin between the blits and the clear, even though it was immediately\nchanged back again.\n\nWe prevent this by manually binding the required draw and read\nframebuffers when performing the partial update blits, and calling\nGLBlitHelper::BlitFramebuffer() which does *not* change the\nframebuffer bindings. This ensures the same draw framebuffer remains\nbound throughout, allowing ANGLE to use a single command buffer per\ntile.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D316278",
      "email": "jnicol@mozilla.com",
      "hash": "f747ebc1440f9773466d93d63d32dd004a76a4d6",
      "subject": "Bug 2060537 - Avoid unbinding FBO after partial update blits. r=gfx-reviewers,bradwerth"
    },
    "D316286": {
      "author": "Mark Banner",
      "avatar": "https://www.gravatar.com/avatar/97526b10278bf7be90be23244678debe?d=identicon\u0026s=64",
      "cl": "D316286",
      "clUrl": "https://phabricator.services.mozilla.com/D316286",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D316286",
      "email": "standard8@mozilla.com",
      "hash": "43b011434d33df3cca64cd896ce9b3c20054c87b",
      "subject": "Bug 2059751 - Fix ESLint failures. r=bustage-fix!"
    },
    "b1517c6752fa": {
      "author": "Silaghi",
      "avatar": "https://www.gravatar.com/avatar/81acf29bb88b2a0ded61f47b93c59dea?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "This reverts commit 073a8207b94ba3f9a50d43f86561873c35e9d67f.",
      "email": "asilaghi@mozilla.com",
      "hash": "b1517c6752fac63b464d8d1bb2a4fbfa5edc6243",
      "subject": "Revert \"Bug 2048635 - Don't allow param(--foo) in link-parameters. r=firefox-style-system-reviewers,firefox-svg-reviewers,dshin,longsonr\" for causing wpt and mochitests failures at parameters and value_computation.html"
    },
    "b7f8d225801a": {
      "author": "pstanciu",
      "avatar": "https://www.gravatar.com/avatar/cd361de239f63fe1459e93f742450a3d?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "This reverts commit 598f0bd89a7a698b10520c21b85b205cb0be5b77.\n\nRevert \"Bug 2044501 - Add cached async codec-support path for MediaCapabilities decode behind a pref. r=media-playback-reviewers,alwu\"\n\nThis reverts commit e44f785f3e1d5ef1d03531251bb50009162f239f.\n\nRevert \"Bug 2044501 - Add RemoteMediaManagerChild::EnsureCodecSupportFor for async HW codec support queries. r=media-playback-reviewers,alwu\"\n\nThis reverts commit 56cd88aeb93831e8c85c7051aaf2304e46445f7e.",
      "email": "pstanciu@mozilla.com",
      "hash": "b7f8d225801a3e935cc07d45134b4094c91a9ca9",
      "subject": "Revert \"Bug 2044501 - Add moz-WPT for new media-capabilities supports-cache pref. r=media-playback-reviewers,alwu\" for causing wpt failures @decodingInfo-api-modes.any.html?mode=supportscache"
    },
    "c9c6f9e62eab": {
      "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": "c9c6f9e62eab64871fcaaaec3ecec4b30f791043",
      "subject": "Bug 2053432: apply code formatting via Lando"
    },
    "d2dd5e6aaa84": {
      "author": "moz-wptsync-bot",
      "avatar": "https://www.gravatar.com/avatar/c26d4d31bbd58c7c2201edd90d400494?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "wpt-pr: 61601\nwpt-type: metadata",
      "email": "wptsync@mozilla.com",
      "hash": "d2dd5e6aaa84f766b43046ff83e3b847631785cc",
      "subject": "Bug 2058908 [wpt PR 61601] - Update wpt metadata, a=testonly"
    },
    "d74452b99450": {
      "author": "Mike West",
      "avatar": "https://www.gravatar.com/avatar/b077b817d1cc35923e737e54d19ce6b3?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "Automatic update from web-platform-tests\n[Connection Allowlist] Add reporting support for navigation.\n\nThis CL adds reporting capabilities to the shared utility functions used\nto check for Connection Allowlist compliance outside the network stack,\nand ensures that they're wired up correctly to send reports for\nnavigations and navigational redirects.\n\nBug: 482728970\nChange-Id: I3e5fb2b635ab1fa82a04826f5420774606e3a6c2\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7899824\nReviewed-by: Shivani Sharma \u003cshivanisha@chromium.org\u003e\nCommit-Queue: Mike West \u003cmkwst@chromium.org\u003e\nReviewed-by: Arthur Sonzogni \u003carthursonzogni@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1672660}\n\n--\n\nwpt-commits: efc4a961dd8d1cb0caa208a79f35aa4d8c346092\nwpt-pr: 61601",
      "email": "mkwst@chromium.org",
      "hash": "d74452b99450b3b8dfadfe6f5d5a67fef0d7577a",
      "subject": "Bug 2058908 [wpt PR 61601] - [Connection Allowlist] Add reporting support for navigation., a=testonly"
    },
    "e8ba0a006652": {
      "author": "Serban Stanca",
      "avatar": "https://www.gravatar.com/avatar/977312186062f329a7e4302ab972ae7b?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "This reverts commit cbfddbb0d3394c49f5bc3911a5b66142d958a047.",
      "email": "sstanca@mozilla.com",
      "hash": "e8ba0a0066529f623bfc2685b96011b329efe729",
      "subject": "Revert \"Bug 2050536. r=nika,dom-worker-reviewers,ipc-reviewers,asuth\" for causing gtest failures."
    },
    "eb7d807e97c8": {
      "author": "rperta",
      "avatar": "https://www.gravatar.com/avatar/95787d55656c719bd5b0c6754f5449a3?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "",
      "email": "rperta@mozilla.com",
      "hash": "eb7d807e97c863c06cc89aff563662ddb8e2378f",
      "subject": "Bug 2060085 - metadata update"
    }
  },
  "date": "2026-08-04",
  "days": 1,
  "generatedAt": "2026-08-04T22:13:21Z",
  "markdown": "## Highlights\n- **Security** nsStandardURL now validates URL segments more aggressively, tightening parsing around malformed input. [Phab D312991](https://phabricator.services.mozilla.com/D312991)\n- **Web Platform** Firefox now rejects `param(--foo)` inside SVG link parameters to match spec behavior and avoid invalid custom property plumbing. [Phab D316274](https://phabricator.services.mozilla.com/D316274)\n- **Media** MediaCapabilities gained a pref guarded cached async codec support path, aimed at reducing repeated decode support checks. [Phab D304785](https://phabricator.services.mozilla.com/D304785)\n- **Networking** GeckoView now surfaces Android 17 Local Network Protection failures as load errors, making a new platform level breakage mode visible to apps. [Phab D315954](https://phabricator.services.mozilla.com/D315954)\n- **GPU** Canvas `captureStream()` on WebGL switched to async readback IPC, which should cut capture stalls on GPU backed canvases. [Phab D312647](https://phabricator.services.mozilla.com/D312647)\n- **UI** Firefox added dismissable Sync promos in the app menu's bookmarks and history panels, expanding account nudges while letting users shut them off. [Phab D315146](https://phabricator.services.mozilla.com/D315146)\n- **Perf** Places removed a sort from the most-frecent-subpage icon query, shaving overhead from a hot history lookup path. [Phab D314986](https://phabricator.services.mozilla.com/D314986)\n- **DevTools** The debugger now keeps stylesheet selection stable across reloads and handles duplicate stylesheet entries more reliably. [Phab D314284](https://phabricator.services.mozilla.com/D314284)\n- **V8** Spidermonkey landed multiple concurrent marking fixes around ropes, zeal mode, and symbol weak edges, targeting GC correctness under stress. [Phab D316004](https://phabricator.services.mozilla.com/D316004)\n\n## What landed by area\n\n### Desktop UI and browser chrome\n- **UI** `about:opentabs` heading text now matches the spec instead of shipping Firefox specific wording. [Phab D314979](https://phabricator.services.mozilla.com/D314979)\n- **UI** The app menu sign in promo now behaves conditionally instead of showing the same treatment in every state. [Phab D315014](https://phabricator.services.mozilla.com/D315014)\n- **UI** The new tab button in the sidebar is clickable from screen edges again, fixing a Fitts' law miss. [Phab D315093](https://phabricator.services.mozilla.com/D315093)\n- **UI** Long tooltip text now wraps by default via `xul.css`, improving native anonymous tooltip behavior. [Phab D315592](https://phabricator.services.mozilla.com/D315592)\n- **UI** Container tab strokes were refined for clearer visual separation. [Phab D314682](https://phabricator.services.mozilla.com/D314682)\n- **UI** Ctrl Tab previews now lay out in a shrinking grid instead of wrapping awkwardly. [Phab D315568](https://phabricator.services.mozilla.com/D315568)\n- **UI** The search bar no longer reserves clear button space while only the placeholder is showing. [Phab D316099](https://phabricator.services.mozilla.com/D316099)\n- **UI** Custom profile icons now synchronize between selectable profiles. [Phab D313752](https://phabricator.services.mozilla.com/D313752)\n- **UI** Sync promos landed in the bookmarks panel with a dismiss control. [Phab D315146](https://phabricator.services.mozilla.com/D315146)\n- **UI** Sync promos also landed in the history panel with the same dismissable pattern. [Phab D314168](https://phabricator.services.mozilla.com/D314168)\n- **UI** Promo buttons gained a dedicated dismiss affordance to support those app menu surfaces. [Phab D314167](https://phabricator.services.mozilla.com/D314167)\n- **UI** A Nova only failure in tab preview testing was fixed. [Phab D314360](https://phabricator.services.mozilla.com/D314360)\n- **Refactor** Tab hover preview internals were restructured to stamp out intermittent test failures. [Phab D313314](https://phabricator.services.mozilla.com/D313314)\n- **UI** Tab group preview offset tests now force horizontal tabs, reducing layout dependent flake. [Phab D314663](https://phabricator.services.mozilla.com/D314663)\n- **UI** A broken bookmark popup test was fixed and re enabled. [Phab D316139](https://phabricator.services.mozilla.com/D316139)\n\n### Urlbar, search, telemetry, and Places\n- **Perf** The most-frecent-subpage icon query avoids an unnecessary sort. [Phab D314986](https://phabricator.services.mozilla.com/D314986)\n- **Privacy** Firefox now counts how often tracker blocking is shown, adding another measurement point for protections UI exposure. [Phab D313753](https://phabricator.services.mozilla.com/D313753)\n- **UI** Urlbar animation now pauses while the screen is resizing, avoiding odd motion during window changes. [Phab D314598](https://phabricator.services.mozilla.com/D314598)\n- **Refactor** UrlbarTelemetryUtils now uses `REGEXP_SPACES` from UrlbarShared instead of UrlUtils. [Phab D316045](https://phabricator.services.mozilla.com/D316045)\n- **UI** Nova fixed the urlbar and legacy search bar focus ring color. [Phab D315084](https://phabricator.services.mozilla.com/D315084)\n- **UI** Nova also fixed the top pick icon border radius in the urlbar. [Phab D315522](https://phabricator.services.mozilla.com/D315522)\n- **Refactor** IPC Urlbar phase 6 work now awaits the restarted query in realtime opt in coverage. [Phab D315361](https://phabricator.services.mozilla.com/D315361)\n- **Refactor** IPC Urlbar phase 6 also awaits dismissal and acknowledgment effects in weather result tests. [Phab D315360](https://phabricator.services.mozilla.com/D315360)\n- **Refactor** IPC Urlbar phase 6 moves the pointer away from the add on row after clicking it, tightening test behavior. [Phab D315359](https://phabricator.services.mozilla.com/D315359)\n- **Perf** Places fixed a ConcurrentConnection LOCKED race during startup. [Phab D313466](https://phabricator.services.mozilla.com/D313466)\n\n### Android and mobile\n- **Mobile** Firefox for Android tabs tray native share sheet entries now include chooser actions. [Phab D313754](https://phabricator.services.mozilla.com/D313754)\n- **Mobile** The trending search icon switched to `mozac_ic_arrow_trending_24`. [Phab D315629](https://phabricator.services.mozilla.com/D315629)\n- **Mobile** The homepage weather widget gained a Nimbus flag and secret setting for controlled rollout. [Phab D315885](https://phabricator.services.mozilla.com/D315885)\n- **Security** `FxaException.Forbidden` no longer crashes Fenix. [Phab D316189](https://phabricator.services.mozilla.com/D316189)\n- **Build** Android lint findings were cleaned up across the tree. [Phab D315404](https://phabricator.services.mozilla.com/D315404)\n- **Build** Android unit tests now use `kotlin.test.assertNotNull`. [Phab D315403](https://phabricator.services.mozilla.com/D315403)\n- **Build** Android lint baselines were refreshed. [Phab D315402](https://phabricator.services.mozilla.com/D315402)\n- **Build** Focus resources that only looked unused now suppress `UnusedResources` correctly. [Phab D315405](https://phabricator.services.mozilla.com/D315405)\n- **Build** Unused Focus strings were removed. [Phab D315406](https://phabricator.services.mozilla.com/D315406)\n- **Build** Plural and fraction convention checks are now limited to default Fenix strings. [Phab D315407](https://phabricator.services.mozilla.com/D315407)\n- **Build** Sentry was updated to 8.51.0 in Android builds. [Phab D316143](https://phabricator.services.mozilla.com/D316143)\n- **Build** KSP was updated to 2.3.11. [Phab D316142](https://phabricator.services.mozilla.com/D316142)\n\n### Networking, GeckoView, and platform integration\n- **Networking** Android 17 Local Network Protection blocking on TCP connections is now detected explicitly. [Phab D315953](https://phabricator.services.mozilla.com/D315953)\n- **Networking** GeckoView maps those Local Network Protection failures to `onLoadError`, so embedders can react. [Phab D315954](https://phabricator.services.mozilla.com/D315954)\n- **Networking** HTTP/3 now records close reasons even for connections that skip the Closing state. [Phab D315875](https://phabricator.services.mozilla.com/D315875)\n- **Networking** No Vary Search cache lookups now honor the `idExtension` partition. [Phab D315290](https://phabricator.services.mozilla.com/D315290)\n- **Networking** Android private DNS state is now tracked asynchronously via a default `NetworkCallback`. [Phab D308722](https://phabricator.services.mozilla.com/D308722)\n- **Networking** Firefox will not enable `dohAutoselect` when Android reports active private DNS. [Phab D308551](https://phabricator.services.mozilla.com/D308551)\n- **Networking** `PlatformDNSAndroid` now uses `android_res_nresult`. [Phab D313842](https://phabricator.services.mozilla.com/D313842)\n- **Security** WebCrypto now preserves the original `PublicKeyToJwk` error instead of flattening it into `OperationError`. [Phab D316007](https://phabricator.services.mozilla.com/D316007)\n\n### Web platform, DOM, and layout\n- **Web Platform** SVG link parameters now reject `param(--foo)` as required by spec. [Phab D316274](https://phabricator.services.mozilla.com/D316274)\n- **Web Platform** Dynamic import processing now bails out if loading imports already failed, preventing follow on work in a broken state. [Phab D316024](https://phabricator.services.mozilla.com/D316024)\n- **Web Platform** Popup persistence is now disabled earlier. [Phab D315802](https://phabricator.services.mozilla.com/D315802)\n- **Web Platform** `getPersistence` was removed as followup cleanup. [Phab D315894](https://phabricator.services.mozilla.com/D315894)\n- **Web Platform** Form state is cleared for an element when insertion aborts. [Phab D315079](https://phabricator.services.mozilla.com/D315079)\n- **Web Platform** Deleting a non collapsed range now flips `mDidDeleteNonCollapsedRange` as expected. [Phab D315637](https://phabricator.services.mozilla.com/D315637)\n- **Web Platform** Selected options entries now get additional validation. [Phab D314926](https://phabricator.services.mozilla.com/D314926)\n- **Rendering** Firefox no longer crashes on simplified out anchor positioning functions. [Phab D316034](https://phabricator.services.mozilla.com/D316034)\n- **Refactor** `CHROME_STATUSBAR` was removed. [Phab D315897](https://phabricator.services.mozilla.com/D315897)\n- **Refactor** `CHROME_WINDOW_BORDERS` was removed. [Phab D315896](https://phabricator.services.mozilla.com/D315896)\n- **Refactor** Unused `aModifiers` was dropped from content chrome flags computation. [Phab D316037](https://phabricator.services.mozilla.com/D316037)\n- **Refactor** The tree's `mots.yaml` paths were updated for layout directory renames. [Phab D316095](https://phabricator.services.mozilla.com/D316095)\n- **Refactor** A high surrogate check now only runs when Firefox is actually trying to avoid a split pair. [Phab D314632](https://phabricator.services.mozilla.com/D314632)\n- **Web Platform** A crashtest landed for [bug 2015199](https://bugzilla.mozilla.org/show_bug.cgi?id=2015199). [Phab D315939](https://phabricator.services.mozilla.com/D315939)\n\n### Graphics, rendering, media, and PDF\n- **GPU** Firefox only evicts a GPU buffer texture when the replacement would be smaller. [Phab D316209](https://phabricator.services.mozilla.com/D316209)\n- **GPU** Partial update blits no longer unbind the FBO unnecessarily. [Phab D316278](https://phabricator.services.mozilla.com/D316278)\n- **Rendering** Perspective surfaces that map coplanar content affinely now use exact scale factors. [Phab D316131](https://phabricator.services.mozilla.com/D316131)\n- **Rendering** 3D transformed text is kept off the device glyph path. [Phab D316117](https://phabricator.services.mozilla.com/D316117)\n- **Rendering** A gfx change landed under [bug 2060000](https://bugzilla.mozilla.org/show_bug.cgi?id=2060000). [Phab D315942](https://phabricator.services.mozilla.com/D315942)\n- **GPU** WebGL backed canvas capture now uses async readback IPC. [Phab D312647](https://phabricator.services.mozilla.com/D312647)\n- **Media** MediaCapabilities decode support can now use a cached async codec support path behind a pref. [Phab D304785](https://phabricator.services.mozilla.com/D304785)\n- **Media** RemoteMediaManagerChild gained `EnsureCodecSupportFor` for async hardware codec support queries. [Phab D304784](https://phabricator.services.mozilla.com/D304784)\n- **Media** A moz WPT was added for the new media capabilities supports cache pref. [Phab D309551](https://phabricator.services.mozilla.com/D309551)\n- **Media** PDF.js was updated to a newer upstream snapshot. [Phab D316138](https://phabricator.services.mozilla.com/D316138)\n\n### DevTools, testing, and standards sync\n- **DevTools** The debugger now reselects the chosen stylesheet after reload. [Phab D314284](https://phabricator.services.mozilla.com/D314284)\n- **DevTools** Duplicate stylesheets in the debugger now keep selection behavior sane. [Phab D314234](https://phabricator.services.mozilla.com/D314234)\n- **DevTools** JSON parse error styling got a contrast improvement. [Phab D316192](https://phabricator.services.mozilla.com/D316192)\n- **DevTools** MDN compat data was updated for the DevTools release cycle. [Phab D316226](https://phabricator.services.mozilla.com/D316226)\n- **DevTools** WebDriver BiDi's debugging module stopped using `enterNestedEventLoop`. [Phab D316008](https://phabricator.services.mozilla.com/D316008)\n- **Web Platform** WPT sync pulled in Connection Allowlist reporting support for navigation. [bug 2058908](https://bugzilla.mozilla.org/show_bug.cgi?id=2058908)\n- **Rendering** WPT sync pulled in a fix for zoom not applying to certain clip path cases. [bug 2059005](https://bugzilla.mozilla.org/show_bug.cgi?id=2059005)\n- **Media** WPT sync added JPEG XL rendering coverage for CSS images. [bug 2060183](https://bugzilla.mozilla.org/show_bug.cgi?id=2060183)\n- **Media** WPT sync added a reftest for animated JPEG XL `\u003cimg\u003e`. [bug 2060179](https://bugzilla.mozilla.org/show_bug.cgi?id=2060179)\n- **Media** WPT sync added fuzzy matching for JPEG XL rounding differences. [bug 2059938](https://bugzilla.mozilla.org/show_bug.cgi?id=2059938)\n- **Web Platform** WPT sync added escaping coverage for custom property names in unparsed serialization. [bug 2060168](https://bugzilla.mozilla.org/show_bug.cgi?id=2060168)\n- **Web Platform** WPT sync improved `compareDocumentPosition` consistency for disconnected nodes. [bug 2059384](https://bugzilla.mozilla.org/show_bug.cgi?id=2059384)\n- **Rendering** WPT sync added iframe body background image invalidation coverage. [bug 2060083](https://bugzilla.mozilla.org/show_bug.cgi?id=2060083)\n- **Security** WPT sync improved WebCrypto coverage while reducing duplication. [bug 2056082](https://bugzilla.mozilla.org/show_bug.cgi?id=2056082)\n\n### JavaScript engine, IPC, sandboxing, and build\n- **V8** Concurrent marking zeal mode was fixed. [Phab D316003](https://phabricator.services.mozilla.com/D316003)\n- **V8** Concurrent rope marking was fixed. [Phab D316004](https://phabricator.services.mozilla.com/D316004)\n- **V8** Symbol weak edges now keep atom references alive correctly. [Phab D316060](https://phabricator.services.mozilla.com/D316060)\n- **V8** New JS engine tests landed for [bug 2017622](https://bugzilla.mozilla.org/show_bug.cgi?id=2017622). [Phab D283902](https://phabricator.services.mozilla.com/D283902)\n- **V8** New JS engine tests landed for [bug 2015084](https://bugzilla.mozilla.org/show_bug.cgi?id=2015084). [Phab D282666](https://phabricator.services.mozilla.com/D282666)\n- **V8** New JS engine tests landed for [bug 2013599](https://bugzilla.mozilla.org/show_bug.cgi?id=2013599). [Phab D281478](https://phabricator.services.mozilla.com/D281478)\n- **V8** New JS engine tests landed for [bug 2013551](https://bugzilla.mozilla.org/show_bug.cgi?id=2013551). [Phab D281450](https://phabricator.services.mozilla.com/D281450)\n- **Security** `browser_sandbox_test` was re enabled under Nova. [Phab D316140](https://phabricator.services.mozilla.com/D316140)\n- **IPC** Child shutdown hangs now crash under a uniform signature for easier triage. [Phab D311490](https://phabricator.services.mozilla.com/D311490)\n- **IPC** Test coverage was added for those uniform child shutdown hang crash reports. [Phab D311491](https://phabricator.services.mozilla.com/D311491)\n- **Build** `mozcrash` now honors a fixed crash signature override annotation. [Phab D311488](https://phabricator.services.mozilla.com/D311488)\n- **Build** `mozcrash` now treats annotated intentional crashes as non failures. [Phab D311489](https://phabricator.services.mozilla.com/D311489)\n- **Build** `mozcrash` also got an f string cleanup to satisfy lint. [Phab D311487](https://phabricator.services.mozilla.com/D311487)\n- **Build** `mozlint` now resolves the `mozcheck` binary in the parent process. [Phab D316224](https://phabricator.services.mozilla.com/D316224)\n- **Build** ESLint exclusions were renamed for the vendored `eslint-plugin-sdl` rule. [Phab D315961](https://phabricator.services.mozilla.com/D315961)\n- **Security** Firefox vendored `eslint-plugin-sdl`'s `no-insecure-url` rule. [Phab D315960](https://phabricator.services.mozilla.com/D315960)\n- **Build** The immediate ESLint fallout was fixed. [Phab D316286](https://phabricator.services.mozilla.com/D316286)\n- **Build** `SCCACHE_BASEDIRS` is now set before invoking `sccache`. [Phab D315515](https://phabricator.services.mozilla.com/D315515)\n- **Build** `client.mk` now passes `SCCACHE_BASEDIRS` through to the daemon it manages. [Phab D315516](https://phabricator.services.mozilla.com/D315516)\n- **Build** Windows SDK detection moved into `windows-toolchain.configure`. [Phab D315514](https://phabricator.services.mozilla.com/D315514)\n- **Privacy** Free text profiler marker fields were converted to unique strings so embedded URLs get sanitized. [Phab D311475](https://phabricator.services.mozilla.com/D311475)\n- **Refactor** Unused `toolkit.telemetry.dap_*` prefs were removed. [Phab D313136](https://phabricator.services.mozilla.com/D313136)\n- **Media** WebRTC transport activation now moves `Transport` back into `mTransports` to fix a Coverity issue. [Phab D314330](https://phabricator.services.mozilla.com/D314330)\n- **Media** WebRTC codec params now move `profileLevelId` into the codec parameter map. [Phab D314329](https://phabricator.services.mozilla.com/D314329)\n- **UI** Thunderbird's default theme Fluent localization was fixed. [Phab D315131](https://phabricator.services.mozilla.com/D315131)\n\n## Reverts \u0026 Reapplies\n- **Web Platform** Reverted the first landing of the `param(--foo)` SVG link parameter restriction after WPT and mochitest failures, then relanded a corrected version. [bug 2048635](https://bugzilla.mozilla.org/show_bug.cgi?id=2048635)\n- **Build** Reverted an ESLint fix after it caused mochitest failures in `browser_trust_panel_icon.js`, then landed a followup cleanup. [bug 2059751](https://bugzilla.mozilla.org/show_bug.cgi?id=2059751)\n- **UI** Reverted custom profile icon sync after xpcshell failures in `customIconManager.js`, then relanded the feature. [bug 2056931](https://bugzilla.mozilla.org/show_bug.cgi?id=2056931)\n- **V8** Reverted the first symbol weak edge atom reference fix over a possible regression in [bug 2060478](https://bugzilla.mozilla.org/show_bug.cgi?id=2060478), then landed a new fix. [bug 2057457](https://bugzilla.mozilla.org/show_bug.cgi?id=2057457)\n- **GPU** Reverted the first FBO unbinding optimization because of a Wayland build bustage, then relanded it. [bug 2060537](https://bugzilla.mozilla.org/show_bug.cgi?id=2060537)\n- **IPC** Reverted one landing of [bug 2050536](https://bugzilla.mozilla.org/show_bug.cgi?id=2050536) after gtest failures; the same patch was then relanded. [bug 2050536](https://bugzilla.mozilla.org/show_bug.cgi?id=2050536)\n- **Media** Reverted a moz WPT addition for the MediaCapabilities supports cache pref because of WPT failures. [bug 2044501](https://bugzilla.mozilla.org/show_bug.cgi?id=2044501)\n- **Rendering** Reverted the first exact scale factor change for perspective surfaces after reftest failures, then relanded it. [bug 2060361](https://bugzilla.mozilla.org/show_bug.cgi?id=2060361)\n- **Web Platform** Reverted the selected options validation change after an unexpected WPT pass exposed test expectation mismatch. [bug 2058622](https://bugzilla.mozilla.org/show_bug.cgi?id=2058622)\n- **V8** Reverted the concurrent marking zeal mode fix after Spidermonkey bustage. [bug 2060184](https://bugzilla.mozilla.org/show_bug.cgi?id=2060184)\n- **V8** Reverted a new testcase for [bug 2015084](https://bugzilla.mozilla.org/show_bug.cgi?id=2015084) after `jit-test` failures. [bug 2015084](https://bugzilla.mozilla.org/show_bug.cgi?id=2015084)\n- **UI** Reverted the app menu bookmarks panel Sync promo after browser chrome failures in `browser_history_recently_closed.js`, then relanded the promo stack. [bug 2059270](https://bugzilla.mozilla.org/show_bug.cgi?id=2059270)\n- **Web Platform** Reverted the first dynamic import bailout change after WPT failures in `ModuleLoaderBase.cpp`; the patch appears again later in the day. [bug 2060238](https://bugzilla.mozilla.org/show_bug.cgi?id=2060238)",
  "repo": "firefox",
  "repoDisplay": "Firefox",
  "rollGroups": [
    {
      "name": "No",
      "count": 3
    }
  ],
  "since": "2026-08-04",
  "totals": {
    "commits": 139,
    "features": 136,
    "rolls": 3
  },
  "until": "2026-08-04"
}