{
  "commits": {
    "060260a9ad4c": {
      "author": "moz-wptsync-bot",
      "avatar": "https://www.gravatar.com/avatar/c26d4d31bbd58c7c2201edd90d400494?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "wpt-pr: 61460\nwpt-type: metadata",
      "email": "wptsync@mozilla.com",
      "hash": "060260a9ad4cd5f0def4439b4a51a9f2fc8e813d",
      "subject": "Bug 2056715 [wpt PR 61460] - Update wpt metadata, a=testonly"
    },
    "15e14612e91a": {
      "author": "Silaghi",
      "avatar": "https://www.gravatar.com/avatar/81acf29bb88b2a0ded61f47b93c59dea?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "This reverts commit 92c8e17430e3ebe32ea9414f044bacb8b846924f.",
      "email": "asilaghi@mozilla.com",
      "hash": "15e14612e91af8f43b43b22dea4147fa7ceae1d9",
      "subject": "Revert \"Bug 2054560 - more wpt metadata update\" for causing wpt failures"
    },
    "21879e3c5bf0": {
      "author": "Noam Rosenthal",
      "avatar": "https://www.gravatar.com/avatar/b4d8dca6c8e6ca5df482144dbec62ec3?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "Automatic update from web-platform-tests\nBlock CE reactions from elements disallowed by sanitizer\n\nThis applies both to regular fragment parsing and to streaming.\n\nWe check the sanitizer early (when element is created) and avoid\ninitializing the CE definition if the element is anyway going to be\nremoved by the sanitizer.\n\nBug: 538197156\nChange-Id: Ib10400043a54710060d84477c9b30513e4acc1d8\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8158260\nReviewed-by: Daniel Vogelheim \u003cvogelheim@chromium.org\u003e\nCommit-Queue: Noam Rosenthal \u003cnrosenthal@google.com\u003e\nCr-Commit-Position: refs/heads/main@{#1669408}\n\n--\n\nwpt-commits: fefb5fc613b29f75ba402dc18360f98c7e92b212\nwpt-pr: 61571",
      "email": "nrosenthal@chromium.org",
      "hash": "21879e3c5bf03949b71a1aa38e2eb4e6e7f33dc6",
      "subject": "Bug 2058543 [wpt PR 61571] - Block CE reactions from elements disallowed by sanitizer, a=testonly"
    },
    "238b6d791703": {
      "author": "jugglinmike",
      "avatar": "https://www.gravatar.com/avatar/ac9a0bd65c9779e079fe3fc3e60bfccc?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "Automatic update from web-platform-tests\nImplement RFC 237 (#61203)\n\n* Implement RFC 237: Infrastructure\n\nhttps://github.com/web-platform-tests/rfcs/blob/main/rfcs/web_features_exclusions.md\n\n* Implement RFC 237: Documentation\n\nhttps://github.com/web-platform-tests/rfcs/blob/main/rfcs/web_features_exclusions.md\n\n* Implement RFC 237: WEB_FEATURES.yml files\n\nThese changes were procedurally generated.\n\nhttps://github.com/web-platform-tests/rfcs/blob/main/rfcs/web_features_exclusions.md\n\n* Translate comments in WEB_FEATURES.yml files\n\n* Fix linting errors\n\n* Update tools/web_features/tests/test_web_feature_map.py\n\nCo-authored-by: James C Scott III \u003cjcscottiii@users.noreply.github.com\u003e\n\n* Simplify further\n\n* Remove unsupported typing feature\n\n* Remove assertions\n\n---------\n\nCo-authored-by: James C Scott III \u003cjcscottiii@users.noreply.github.com\u003e\n--\n\nwpt-commits: 4832db47614f5f48cc57374cbf5c1f70937fad48\nwpt-pr: 61203",
      "email": "mike@mikepennisi.com",
      "hash": "238b6d79170360e059921b627c0effefca6b5d7a",
      "subject": "Bug 2054079 [wpt PR 61203] - Implement RFC 237, a=testonly"
    },
    "3224787fa481": {
      "author": "Ian Kilpatrick",
      "avatar": "https://www.gravatar.com/avatar/e477b5bbb8aa2faa07968f21caba7f3f?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "Automatic update from web-platform-tests\n[layout] Fix OOF-positioned margin under-invalidation.\n\nIn crrev.com/c/7812714 we simplified the OOF layout code by making the\nconstraint-space construction the same for the two places where we\ninvoke layout on a non-replaced element.\n\nThis introduced an under-invaldation bug when margins change.\n\nPreviously when a margin changed, we'd calculate a new fixed-block size,\nwhich would cause the cache-miss. Importantly for OOF-positioned we\ndon't mark the layout-object as dirty when a margin changes.\n\nWith the new code we would potentially just compare the\nconstraint-spaces directly (without computing the block-size), causes\nthe incorrect cache-hit.\n\nSkipping the margin layout invalidation likely isn't important for\nreal-world use-cases so just mark a layout object as needing layout for\nthis case.\n\nAdditionally remove the two bespoke field-diffs:\n - \"margin\" just becomes \"layout\" for OOF.\n - \"out-of-flow\" switches to \"inset\", and now we just check if we have\n   non-static position.\n\nBug: 539404705\nChange-Id: If54326af096c8cb30308e7274c515e859760ea9f\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8157320\nCommit-Queue: Ian Kilpatrick \u003cikilpatrick@chromium.org\u003e\nReviewed-by: David Grogan \u003cdgrogan@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1669065}\n\n--\n\nwpt-commits: f4b24b414258bfdca10fbb0f8d646b97fc6657ec\nwpt-pr: 61561",
      "email": "ikilpatrick@chromium.org",
      "hash": "3224787fa4818fe55c5937ce350530497c5af8fa",
      "subject": "Bug 2058352 [wpt PR 61561] - [layout] Fix OOF-positioned margin under-invalidation., a=testonly"
    },
    "3479f396589e": {
      "author": "Silaghi",
      "avatar": "https://www.gravatar.com/avatar/81acf29bb88b2a0ded61f47b93c59dea?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "This reverts commit b5b64a71111682c3cafd3a73fc3358ac1691cbb1.",
      "email": "asilaghi@mozilla.com",
      "hash": "3479f396589ee9495bc12e8d000041c55e288181",
      "subject": "Revert \"Bug 2054560 - Update WPT metadata for speculation rules prefetch timeouts\" for causing wpt failures"
    },
    "38858b08b8c9": {
      "author": "moz-wptsync-bot",
      "avatar": "https://www.gravatar.com/avatar/c26d4d31bbd58c7c2201edd90d400494?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "wpt-pr: 61571\nwpt-type: metadata",
      "email": "wptsync@mozilla.com",
      "hash": "38858b08b8c998891b677466ef6ef6fa16cca30e",
      "subject": "Bug 2058543 [wpt PR 61571] - Update wpt metadata, a=testonly"
    },
    "3d8dca287ddc": {
      "author": "Hongchan Choi",
      "avatar": "https://www.gravatar.com/avatar/ef5d5da59049e9eab53c780f89989634?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "Automatic update from web-platform-tests\n[WebAudio] Loosen oscillator test thresholds to avoid Mac-11 flakiness\n\nA subtle difference in FFT precision on Mac ARM64 (specifically Mac-11)\ncauses several oscillator tests to fail due to minor sample value\ndiscrepancies.\n\nThis CL loosens the error and SNR thresholds slightly for:\n- osc-negative-freq.html\n- osc-sweep-snr-custom.html\n- osc-sweep-snr-sawtooth.html\n- osc-sweep-snr-sine.html\n- osc-sweep-snr-square.html\n- osc-sweep-snr-triangle.html\n- start-sampling.html\n- osc-basic-waveform.html\n\nAdditionally, updated `osc-basic-waveform.html` to include the\nfrequency in the SNR assertion message to avoid duplicate test names\nwhen they share the same threshold.\n\nTAG=agy\nCONV=f54516f1-0c57-4af3-a490-fb33437bdacb\n\nBug: 40915857\nTest: blink_web_tests\nChange-Id: Idc9232aa5f6583f3474c140153bbf2b186361d81\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8155381\nReviewed-by: Mahesh Kannan \u003ckmaheshb@google.com\u003e\nCommit-Queue: Hongchan Choi \u003chongchan@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1668917}\n\n--\n\nwpt-commits: 56b0a9f2255791b7f344af4dbda506cb2c4f9457\nwpt-pr: 61557",
      "email": "hongchan@google.com",
      "hash": "3d8dca287ddc7d16de191ec2525e6eb64e93f806",
      "subject": "Bug 2058325 [wpt PR 61557] - [WebAudio] Loosen oscillator test thresholds to avoid Mac-11 flakiness, a=testonly"
    },
    "3f99ea8989aa": {
      "author": "Luke Warlow",
      "avatar": "https://www.gravatar.com/avatar/262b456ff1e93842b93f9694d1e01a9e?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "Automatic update from web-platform-tests\nWebKit export of https://bugs.webkit.org/show_bug.cgi?id=320096 (#61572)\n--\n\nwpt-commits: 0f33a7772bc48d908ddec38071cb93bda5a0231e\nwpt-pr: 61572",
      "email": "lwarlow@igalia.com",
      "hash": "3f99ea8989aa2147aea519cec5d38fd8dda3edeb",
      "subject": "Bug 2058554 [wpt PR 61572] - WebKit export of https://bugs.webkit.org/show_bug.cgi?id=320096, a=testonly"
    },
    "427d524fcb62": {
      "author": "moz-wptsync-bot",
      "avatar": "https://www.gravatar.com/avatar/c26d4d31bbd58c7c2201edd90d400494?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "wpt-pr: 61564\nwpt-type: metadata",
      "email": "wptsync@mozilla.com",
      "hash": "427d524fcb62d02c94f9665d6d1ca33de93bfc08",
      "subject": "Bug 2058386 [wpt PR 61564] - Update wpt metadata, a=testonly"
    },
    "43480f92d393": {
      "author": "Dominic Farolino",
      "avatar": "https://www.gravatar.com/avatar/34ecc5b42643e4db98220a1513020372?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "Automatic update from web-platform-tests\nWebMCP: Reject invalid origins with \"NotSupportedError\"\n\nSee https://crrev.com/c/8121241/comment/a263bec5_46b078a4/ and\nhttps://github.com/webmachinelearning/webmcp/pull/226#discussion_r3627952082.\nWith both Mason *and* François in agreement about this, we should\nmigrate from DataError =\u003e NotSupportedError.\n\nR=masonf\n\nBug: 489045948,536063275\nChange-Id: I9e5fc78b082de179c016f8a16dc052744ee28513\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8155899\nReviewed-by: Mason Freed \u003cmasonf@chromium.org\u003e\nCommit-Queue: Dominic Farolino \u003cdom@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1669154}\n\n--\n\nwpt-commits: bcbf3234805101c41303f35a874913fc70b2d966\nwpt-pr: 61564",
      "email": "dom@chromium.org",
      "hash": "43480f92d39364f47b1d2e91c7a60302fe9f8b32",
      "subject": "Bug 2058386 [wpt PR 61564] - WebMCP: Reject invalid origins with \"NotSupportedError\", a=testonly"
    },
    "45a27323ec19": {
      "author": "Noam Rosenthal",
      "avatar": "https://www.gravatar.com/avatar/b4d8dca6c8e6ca5df482144dbec62ec3?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "Automatic update from web-platform-tests\nCheck null for originating element when synchronizing VT rects\n\nBug: 522621866\nChange-Id: I8811fc33d376fe7acfcba442c6075bcf0f795ea9\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8145860\nAuto-Submit: Noam Rosenthal \u003cnrosenthal@google.com\u003e\nReviewed-by: Vladimir Levin \u003cvmpstr@chromium.org\u003e\nCommit-Queue: Vladimir Levin \u003cvmpstr@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1668953}\n\n--\n\nwpt-commits: 5a53ac9ae0347cf923df3cfb03cc1950232cad51\nwpt-pr: 61554",
      "email": "nrosenthal@chromium.org",
      "hash": "45a27323ec19da67bdfd6cf49e2e12adaf53cb44",
      "subject": "Bug 2058316 [wpt PR 61554] - Check null for originating element when synchronizing VT rects, a=testonly"
    },
    "48955d26ae44": {
      "author": "Morten Stenshorne",
      "avatar": "https://www.gravatar.com/avatar/6a5a39a0242480619d19faedc954ee44?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "Automatic update from web-platform-tests\n[RouteMatching] Untangle NavigationState from RouteMap.\n\nMake :nav-source shippable, by associating NavigationState with Document\nrather than RouteMap, and by introducing a runtime feature\nNavigationState. The existing RouteMatching feature now depends on that\nfeature. On its own, NavigationState only provides support for\n:nav-source.\n\nUpstream existing :nav-source test.\n\nBug: 436805487\nChange-Id: Ifde73ca221c1500cddc416793c2bbf1fed4fc08e\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8153282\nCommit-Queue: Rune Lillesveen \u003cfuthark@chromium.org\u003e\nCommit-Queue: Morten Stenshorne \u003cmstensho@chromium.org\u003e\nReviewed-by: Noam Rosenthal \u003cnrosenthal@google.com\u003e\nReviewed-by: Rune Lillesveen \u003cfuthark@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1669298}\n\n--\n\nwpt-commits: 7ed5def3136f50fdf9664e19e30e85a57e3a08ed\nwpt-pr: 61548",
      "email": "mstensho@chromium.org",
      "hash": "48955d26ae445a399fa300126c360f35020739e5",
      "subject": "Bug 2058200 [wpt PR 61548] - [RouteMatching] Untangle NavigationState from RouteMap., a=testonly"
    },
    "4e9390630b72": {
      "author": "Philip Rogers",
      "avatar": "https://www.gravatar.com/avatar/d014ff658f9fc7d0af93500e06a31921?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "Automatic update from web-platform-tests\nUse fuzzy matching in composited-filters-under-opacity.html\n\nhttps://crrev.com/1665715 changed the reference for\ncomposited-filters-under-opacity.html in a way that makes the test not\ncover the original goals (see: http://crrev.com/653319). This patch\nreverts https://crrev.com/1665715 and instead adds fuzzy matching, as\nbeing off by 1 is fine for this test.\n\nChange-Id: I39baa73181fb4ab74243044f1b1e130e6137bf34\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8145500\nReviewed-by: Keren Zhu \u003ckerenzhu@chromium.org\u003e\nAuto-Submit: Philip Rogers \u003cpdr@chromium.org\u003e\nCommit-Queue: Keren Zhu \u003ckerenzhu@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1669217}\n\n--\n\nwpt-commits: 6ef32b046d691dd751b9c88417011b831feb034a\nwpt-pr: 61529",
      "email": "pdr@chromium.org",
      "hash": "4e9390630b72511c67b518fcc75143dc9ca5e6c4",
      "subject": "Bug 2057704 [wpt PR 61529] - Use fuzzy matching in composited-filters-under-opacity.html, a=testonly"
    },
    "55ecb5735d23": {
      "author": "Vlad Krot",
      "avatar": "https://www.gravatar.com/avatar/08ea1d6dd31ee22674f39866785f6947?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "Automatic update from web-platform-tests\n[sub apps] enable wpt tests\n\nRe-enable the tests in third_party/blink/web_tests/external/wpt/subapps.\n\n- Use virtual test suits to emulate isolated context with header overrides.\n- Modernized tests to fit new sub apps API shape.\n- Remove insecure context test because by definition isolated context cannot be insecure.\n- Add a test that checks permission policy behavior.\n\nFixed: 40928236\nChange-Id: Idc3d52c01a5a4cb4f4f588ea8c6011e1e13b4901\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8122238\nReviewed-by: Andrew Rayskiy \u003cgreengrape@google.com\u003e\nReviewed-by: Vladimir Levin \u003cvmpstr@chromium.org\u003e\nReviewed-by: Rick Byers \u003crbyers@chromium.org\u003e\nCommit-Queue: Vlad Krot \u003cvkrot@google.com\u003e\nCr-Commit-Position: refs/heads/main@{#1668571}\n\n--\n\nwpt-commits: 771d7fe17474632b1dd5c39e46c20d47e5cab21a\nwpt-pr: 61515",
      "email": "vkrot@google.com",
      "hash": "55ecb5735d23c15edde6a8580f536f42e715aabe",
      "subject": "Bug 2057584 [wpt PR 61515] - [sub apps] enable wpt tests, a=testonly"
    },
    "623059af9c8b": {
      "author": "Simon Wülker",
      "avatar": "https://www.gravatar.com/avatar/d80b61c954ae14e10f361a98c399f0a1?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "Automatic update from web-platform-tests\nAdd web platform test\n\nSigned-off-by: Simon Wülker \u003csimon.wuelker@arcor.de\u003e\n\n--\n\nwpt-commits: 6383bc5f719678ab2f496fc407515f649069df41\nwpt-pr: 61505",
      "email": "simon.wuelker@arcor.de",
      "hash": "623059af9c8bc24f44cb800e40e99ddb7355bf5a",
      "subject": "Bug 2057341 [wpt PR 61505] - layout: Fix baseline alignment of horizontal text in column flex container, a=testonly"
    },
    "698a1ad3561f": {
      "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: 0f33a7772bc48d908ddec38071cb93bda5a0231e\nwpt-type: landing",
      "email": "wptsync@mozilla.com",
      "hash": "698a1ad3561f6ea4b5d70354e7792bb8eb14a019",
      "subject": "Bug 2058782 - [wpt-sync] Update web-platform-tests to 0f33a7772bc48d908ddec38071cb93bda5a0231e, a=testonly"
    },
    "790de96b1a95": {
      "author": "Silaghi",
      "avatar": "https://www.gravatar.com/avatar/81acf29bb88b2a0ded61f47b93c59dea?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "",
      "email": "asilaghi@mozilla.com",
      "hash": "790de96b1a95978cc7e0c5af0fac6cc081ee83c6",
      "subject": "Bug 2045023 - Update WPT expectations for selectedcontent.html"
    },
    "7ed0f74ed1e6": {
      "author": "Rune Lillesveen",
      "avatar": "https://www.gravatar.com/avatar/86c4c70f416054e8ea553cdb2a9f20df?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "Automatic update from web-platform-tests\nTest ::first-letter outside size query container\n\nIf the ::first-letter rule on an inner block stops applying due to a\nnon-matching container query, the ::first-letter on an outer container\nshould start matching.\n\nBug: 539636529\nChange-Id: I28cdf836a7a90dd669825f4b0c2a2da435ffedfb\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8157161\nCommit-Queue: Rune Lillesveen \u003cfuthark@chromium.org\u003e\nReviewed-by: Morten Stenshorne \u003cmstensho@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1669356}\n\n--\n\nwpt-commits: 2e15912f71ac35c79e894fc5db066dbfff87f9cd\nwpt-pr: 61569",
      "email": "futhark@chromium.org",
      "hash": "7ed0f74ed1e6262ae9a05e31e05d611acaf73ca3",
      "subject": "Bug 2058507 [wpt PR 61569] - Test ::first-letter outside size query container, a=testonly"
    },
    "7f304af702c6": {
      "author": "Gaston Rodriguez",
      "avatar": "https://www.gravatar.com/avatar/96ad995ab452da4c1171bcf32f60faf1?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "Automatic update from web-platform-tests\nDrags continue even if the layout shifts on drag start\n\nThis CL fixes a bug with drag and drop where a drag will not happen if\nthe `dragstart` listener removes the drag source or generates a layout\nshift.\n\nWhen a drag starts, blink will try hit-testing the drag start location\n*after* the `dragstart` event is fired to determine the dragged element\nand create an overlay image for it. If listeners of the `dragstart`\nevent caused a layout shift or removed the element from the document,\nthen the hit test will fail and the drag operation will be aborted.\n\nThis CL reorders the steps in the sequence to create a drag by moving\nthe hit testing and image overlay generation to *before* the `dragstart`\nevent is fired in `PopulateDragDataTransfer`. With this change, even if\n`dragstart` removes an element from the document, the user will still\nbe presented with the correct drag overlay image.\n\nIn addition to the new tests in this CL, these changes were manually\nverified in the WPT remove/ and overlay/ drag and drop directories to\nconfirm correct UA behavior.\n\nBug: 434130455\nChange-Id: I84bab2edb505b113e8a9481109f196d225d77718\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7748202\nReviewed-by: Mustaq Ahmed \u003cmustaq@chromium.org\u003e\nCommit-Queue: Gaston Rodriguez \u003cgastonr@microsoft.com\u003e\nCr-Commit-Position: refs/heads/main@{#1668792}\n\n--\n\nwpt-commits: 8e573188890e6d0a5219711afc9bbb5dc5abbd7a\nwpt-pr: 61527",
      "email": "gastonr@microsoft.com",
      "hash": "7f304af702c6ffa6c04d702061e20319b5807e8c",
      "subject": "Bug 2057703 [wpt PR 61527] - Drags continue even if the layout shifts on drag start, a=testonly"
    },
    "874da2fd4dfc": {
      "author": "Xiaochen Zhou",
      "avatar": "https://www.gravatar.com/avatar/a381eb22bdaf8c65a61bf9e1bd60258b?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "Automatic update from web-platform-tests\n[Connection-Allowlist] Add web platform tests for connection allowlist enforcement on PaymentRequest API: service worker registration\n\nThe web platform tests cover the service worker registration behavior\nwhen there is a connection allowlist on the initiator frame of PaymentRequest API.\n\nRequests flow:\n1. PaymentRequest API sends a HEAD request to payment url.\n2. A response with Link header pointing to the app manifest is\n   sent back.\n3. The API downloads the app manifest.\n4. The app registers a service worker.\n\nThe test sets up allowlist to either block or allow the registration.\n\nAbout CA: https://github.com/WICG/connection-allowlists\n\nBug: 519915328, 447954811, 506480941\nChange-Id: I6f7b8f39e6227404242c22d24fee5c2992c50f10\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8012329\nCommit-Queue: Xiaochen Zhou \u003cxiaochenzh@chromium.org\u003e\nReviewed-by: Andrew Verge \u003caverge@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1668628}\n\n--\n\nwpt-commits: 177f223ecdb4595572b01c4e9cf61de4e7b5465a\nwpt-pr: 61460",
      "email": "xiaochenzh@chromium.org",
      "hash": "874da2fd4dfce930dde6f10438b6b1b400b48c0d",
      "subject": "Bug 2056715 [wpt PR 61460] - [Connection-Allowlist] Add web platform tests for connection allowlist enforcement on PaymentRequest API: service worker registration, a=testonly"
    },
    "878b64a4c024": {
      "author": "Silaghi",
      "avatar": "https://www.gravatar.com/avatar/81acf29bb88b2a0ded61f47b93c59dea?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "This reverts commit 8a8edef49eebe25797d0064b482d3d2efab039ab.\n\nRevert \"Bug 2051354 - part 4: Relax to dispatch `eKeyPress` events for typing a grapheme cluster r=m_kato\"\n\nThis reverts commit b822beffd1947a6da6fca5fb58634402111fdb3c.\n\nRevert \"Bug 2051354 - part 3: Make `KeymapWrapper::ComputeDOMKeyNameIndex` return `KEY_NAME_INDEX_USE_STRING` r=m_kato\"\n\nThis reverts commit df2c23b1fc3b476133e58504c55fa6e27fbcc4c4.\n\nRevert \"Bug 2051354 - part 2: Improve Logging of `IMContextWrapper` r=m_kato\"\n\nThis reverts commit 7540a46436f1947f229f986952bf63577ec3654a.\n\nRevert \"Bug 2051354 - part 1: Update `IsIBusInSyncMode()` for the newer ibus r=m_kato\"\n\nThis reverts commit 8ba2c2e3167041aa6bbf279a1cbbb420f1bc5a03.",
      "email": "asilaghi@mozilla.com",
      "hash": "878b64a4c024f657de81fb66a1e7de1aaad9109c",
      "subject": "Revert \"Bug 2051354 - part 5: Support asynchronous IME handling of ibus better r=m_kato\" for causing Linux IME crashes."
    },
    "8aec13a8cb58": {
      "author": "Martin Robinson",
      "avatar": "https://www.gravatar.com/avatar/380eb5a09bbe64a6ba37c5c5691f112b?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "Automatic update from web-platform-tests\nlayout: Use a total order comparator when distributing extra space to rowspans\n\nExtra space is distributed to rowspans in an order determined by the\nspecification. The sorting that was used to determine this order wasn't\ntotal which meant that you could have a situation where:\n\n - rowspan_a == rowspan_b\n - rowspan_a \u003e rowspan_c\n - rowspan_c \u003e rowspan_b\n\nThis change makes the sorting total by properly ordering ranges even\nwhen one side of their ranges overlap. The test included here\nunfortunately has to be a bit noisy because the standard library only\ndetects a non-total ordering under a specific set and distribution of\nelements.\n\nSigned-off-by: Martin Robinson \u003cmrobinson@igalia.com\u003e\n\n--\n\nwpt-commits: 012495eaecad92cee7537db8dbc4dd1d385ec13d\nwpt-pr: 61579",
      "email": "mrobinson@igalia.com",
      "hash": "8aec13a8cb58584bbae8f30902167ac6beb169c6",
      "subject": "Bug 2058639 [wpt PR 61579] - layout: Use a total order comparator when distributing extra space to rowspans, a=testonly"
    },
    "8d3212a0f8fc": {
      "author": "Hoch Hochkeppel (HE/HIM)",
      "avatar": "https://www.gravatar.com/avatar/ac887bff895c752b143da6160a81cc8b?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "Automatic update from web-platform-tests\nAgnosticize seg-break-transformation tests\n\nThis does *not* fix these tests, it reduces the test expectations noise.\n\nUpdate the seg-break-transformation tests to all specify a provided font\nrather than relying on the OS default, so their failure values are\nidentical across platforms.\n\nThis aligns with the latest of these tests (which were already\nspecifying a font), reduces the number of expectations files currently\nneeded, and protects against needing to make additional\nplatform-specific expectations files for these tests going forward\n(which has historically happend for different Mac versions). It does not\nuse the Ahem font (used by the latest of these tests) because that does\nnot include all the relevant characters being tested.\n\nThis also required updating these tests (that are using script) to\nexplicitly wait for font loading to complete. Otherwise, they would\npotentially be falling back to the defaults, re-introducing the problem\nthis is trying to fix.\n\nWhile touching these files, also updating their spec links to point at\ncss-text-4 (where this functionality is currently an open issue).\n\nBug: 40771963\nChange-Id: I30a936bae5c0a20c856ce3464fee31babd01ef73\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8133969\nReviewed-by: Kurt Catti-Schmidt \u003ckschmi@microsoft.com\u003e\nReviewed-by: Alison Maher \u003calmaher@microsoft.com\u003e\nCommit-Queue: Hoch Hochkeppel \u003cmhochk@microsoft.com\u003e\nCr-Commit-Position: refs/heads/main@{#1669643}\n\n--\n\nwpt-commits: cd0e4e4ffad93f5eb771124e85c480821c4fde94\nwpt-pr: 61584",
      "email": "mhochk@microsoft.com",
      "hash": "8d3212a0f8fcb8c49e76ef06b0fc9db8867cb54c",
      "subject": "Bug 2058684 [wpt PR 61584] - Agnosticize seg-break-transformation tests, a=testonly"
    },
    "8efa62acf951": {
      "author": "Hyowon Kim",
      "avatar": "https://www.gravatar.com/avatar/c42b48211e9351e41e397cdfebdd5425?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "Automatic update from web-platform-tests\nAdd long timeout to 3 accname tests\n\ncomp_label.html, comp_host_language_label.html, and comp_text_node.html\ngenerate many dynamic test cases and can exceed the default 10s\ntestharness timeout.\n\nBug: 443203688\nChange-Id: Iedb17afcfc7ddc4c00011644c31323644e61da6d\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8129542\nCommit-Queue: Hyowon Kim \u003chyowon@igalia.com\u003e\nReviewed-by: David Tseng \u003cdtseng@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1669116}\n\n--\n\nwpt-commits: 1bf8e08a1d1e098cdeaf26f64965b67dd97879f0\nwpt-pr: 61559",
      "email": "hyowon@igalia.com",
      "hash": "8efa62acf951aebe485d2acc652a55d3224dfc01",
      "subject": "Bug 2058346 [wpt PR 61559] - Add long timeout to 3 accname tests, a=testonly"
    },
    "92121942e884": {
      "author": "Silaghi",
      "avatar": "https://www.gravatar.com/avatar/81acf29bb88b2a0ded61f47b93c59dea?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "This reverts commit 55cf76d00b5a71083246f386087c69fd152db4f1.",
      "email": "asilaghi@mozilla.com",
      "hash": "92121942e8844ddf7dcb17617f51414cd2ff7658",
      "subject": "Revert \"Bug 2054842. r=gfx-reviewers,nical\" for causing build bustages at gfxDWriteFontList.cpp"
    },
    "92c8e17430e3": {
      "author": "Silaghi",
      "avatar": "https://www.gravatar.com/avatar/81acf29bb88b2a0ded61f47b93c59dea?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "",
      "email": "asilaghi@mozilla.com",
      "hash": "92c8e17430e3ebe32ea9414f044bacb8b846924f",
      "subject": "Bug 2054560 - more wpt metadata update"
    },
    "99ad4b6b65ee": {
      "author": "agoloman",
      "avatar": "https://www.gravatar.com/avatar/cd12c4a70c28dead95af1f72ff892316?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "This reverts commit 1ce67dcb6ce019322dd68470c0ee960bbc21c766.",
      "email": "agoloman@mozilla.com",
      "hash": "99ad4b6b65ee01fcd2a9038f13a040d800924743",
      "subject": "Revert \"Bug 2054529 - [Monitor Agent][FE] Move hardcded string to locals preview file r=yjamora,fluent-reviewers,bolsson import uuid\" for causing bc failures @browser_aiwindow_agent_monitor_chat.js."
    },
    "D262249": {
      "author": "Erich Gubler",
      "avatar": "https://www.gravatar.com/avatar/4bbd2ecd016e674470b4de5f1620c88f?d=identicon\u0026s=64",
      "cl": "D262249",
      "clUrl": "https://phabricator.services.mozilla.com/D262249",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D262249",
      "email": "erichdongubler@gmail.com",
      "hash": "09a90e0260dab15ee711ad561e5eb35160fd2fd4",
      "subject": "Bug 2059417 - chore(webgpu): document reliance on `enum` discriminants matching for blend factors r=webidl,saschanaz DONTBUILD"
    },
    "D283440": {
      "author": "Nicolas Grunbaum",
      "avatar": "https://www.gravatar.com/avatar/e49c6f6d2a2296f8ff216adbd0a60fe5?d=identicon\u0026s=64",
      "cl": "D283440",
      "clUrl": "https://phabricator.services.mozilla.com/D283440",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D283440",
      "email": "ngrunbaum@mozilla.com",
      "hash": "f6b26e2a2f8ae57a0faffb2b1b75bed3d07f4022",
      "subject": "Bug 2014357 - fully support extmap-allow-mixed;r=bwc"
    },
    "D292598": {
      "author": "Alex Hochheiden",
      "avatar": "https://www.gravatar.com/avatar/d543df9ea6c80e41387222577084eec1?d=identicon\u0026s=64",
      "cl": "D292598",
      "clUrl": "https://phabricator.services.mozilla.com/D292598",
      "description": "`./mach uniffi generate` needs three artifacts that don't belong in the\ndefault build: the host bindgen tool, gkrust-uniffi-components, and the\nbindings test fixtures. This groups them under a new `uniffi-target`\noutput category so they only build when uniffi generation runs. Libxul\nstill pulls gkrust-uniffi-components via its Cargo path dep, activating\njust the `mozbuild` feature so the in-tree NSS link works.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D292598",
      "email": "ahochheiden@mozilla.com",
      "hash": "67c91dd6639b0384cafd8a7683b1c488b2e77513",
      "subject": "Bug 2033123 - Add `uniffi-target` encapsulating build steps for `./mach uniffi generate` r=nalexander,firefox-build-system-reviewers"
    },
    "D292615": {
      "author": "Alex Hochheiden",
      "avatar": "https://www.gravatar.com/avatar/d543df9ea6c80e41387222577084eec1?d=identicon\u0026s=64",
      "cl": "D292615",
      "clUrl": "https://phabricator.services.mozilla.com/D292615",
      "description": "app-services rust tests (logins, megazord, rc_crypto) need NSS at link\ntime and at run time. Turn on the `mozbuild-rustlib` feature for the\nmegazord and the tests so Cargo links NSS from the objdir, and have the\nrecursivemake backend turn a Rust library's `USE_LIBS` into build ordering\ndependencies via a shared `_add_rust_build_order_deps` (Cargo still does\nthe linking).\n\nThe `USE_LIBS` in `megazords/full/moz.build` then order NSS (including the\ndynamically loaded `freebl3` and `softokn3`) and the static `mozpkix` and\n`pure_virtual` ahead of the tests.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D292615",
      "email": "ahochheiden@mozilla.com",
      "hash": "83fa14a8ccfe32f636199ea2248ce2baf224e13f",
      "subject": "Bug 2035579 - Resolve NSS dependencies for app-services cargo test r=nalexander,firefox-build-system-reviewers"
    },
    "D292616": {
      "author": "Alex Hochheiden",
      "avatar": "https://www.gravatar.com/avatar/d543df9ea6c80e41387222577084eec1?d=identicon\u0026s=64",
      "cl": "D292616",
      "clUrl": "https://phabricator.services.mozilla.com/D292616",
      "description": "The `embedded-uniffi-bindgen` dependency is obvious.  What's less\nobvious is that the `USE_LIBS` stanza arranges the full `megazord-so`\ndylib to be built by `uniffi-target`.\n\nTwo small supporting build-system changes make that work: the emitter\naccepts Rust libraries with shared `USE_LIBS` (cargo handles actual\nlinking), and category tiers now depend on their members' shared\n`USE_LIBS` so recursing the tier triggers those shared libs' builds.\n\nThis is all in support of `./mach uniffi generate`.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D292616",
      "email": "ahochheiden@mozilla.com",
      "hash": "6cf3aebd6e7a87f38ae6ab3dcfb64b5bb677d11a",
      "subject": "Bug 2033123 - Make `uniffi-target` build `embedded-uniffi-bindgen` and the megazord r=nalexander,firefox-build-system-reviewers,sergesanspaille"
    },
    "D292617": {
      "author": "Alex Hochheiden",
      "avatar": "https://www.gravatar.com/avatar/d543df9ea6c80e41387222577084eec1?d=identicon\u0026s=64",
      "cl": "D292617",
      "clUrl": "https://phabricator.services.mozilla.com/D292617",
      "description": "`./mach uniffi generate` now drives a dedicated `obj-uniffi-generate`\nbuild through `recurse_uniffi-target` instead of invoking Cargo directly.\nThis routes through mozbuild for proper dependency ordering (NSS, mozglue,\netc.) and keeps the user's main objdir untouched.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D292617",
      "email": "ahochheiden@mozilla.com",
      "hash": "6ede1c85793f678b41a393aefe6a5cda6bd33ac7",
      "subject": "Bug 2033123 - Make `./mach uniffi generate` use `uniffi-target` to build binaries and libraries r=nalexander,firefox-build-system-reviewers,sergesanspaille"
    },
    "D292618": {
      "author": "Alex Hochheiden",
      "avatar": "https://www.gravatar.com/avatar/d543df9ea6c80e41387222577084eec1?d=identicon\u0026s=64",
      "cl": "D292618",
      "clUrl": "https://phabricator.services.mozilla.com/D292618",
      "description": "`./mach uniffi generate` now also produces the Kotlin bindings for\nAndroid, which get committed to the source tree for gradle to consume.\nOn Windows, the cdylib doesn't preserve Rust `pub static` items through\nthe MSVC link, so `embedded-uniffi-bindgen` reads the megazord staticlib\ndirectly.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D292618",
      "email": "ahochheiden@mozilla.com",
      "hash": "d6f35f2932b0d4b1976a86cb8945ea971a6c672c",
      "subject": "Bug 2033123 - Make `./mach uniffi generate` generate Android Kotlin sources r=nalexander"
    },
    "D292619": {
      "author": "Alex Hochheiden",
      "avatar": "https://www.gravatar.com/avatar/d543df9ea6c80e41387222577084eec1?d=identicon\u0026s=64",
      "cl": "D292619",
      "clUrl": "https://phabricator.services.mozilla.com/D292619",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D292619",
      "email": "ahochheiden@mozilla.com",
      "hash": "2f694b6f3418e2112a4059534f96913f3fd503ec",
      "subject": "Bug 2033123 - Add generated Android sources r=nalexander"
    },
    "D298043": {
      "author": "Sylvestre Ledru",
      "avatar": "https://www.gravatar.com/avatar/fb0fd07485efdfc05e02987075fdbab0?d=identicon\u0026s=64",
      "cl": "D298043",
      "clUrl": "https://phabricator.services.mozilla.com/D298043",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D298043",
      "email": "sylvestre@debian.org",
      "hash": "f7652a666b99664ea28bcd3ec8bd180f661bbe00",
      "subject": "Bug 2023722 - skill: document mozcheck Rust linter in mozlint SKILL.md r=ai4dev-reviewers,suhaib DONTBUILD"
    },
    "D298757": {
      "author": "Alex Hochheiden",
      "avatar": "https://www.gravatar.com/avatar/d543df9ea6c80e41387222577084eec1?d=identicon\u0026s=64",
      "cl": "D298757",
      "clUrl": "https://phabricator.services.mozilla.com/D298757",
      "description": "On Android, the megazord cdylib ships in the AAR and must always be\nbuilt. On non-Android, it's only needed by `./mach uniffi generate`\n(and indirectly by desktop libsForTests), so move both\n`RustLibrary(\"megazord\")` and `SharedLibrary(\"megazord-so\")` under the\n`uniffi-target` output category there.\n\niOS needs CoreFoundation linked just like macOS does, so the megazord\ndylib keys the framework on `OS_TARGET == \"Darwin\"` to cover both.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D298757",
      "email": "ahochheiden@mozilla.com",
      "hash": "cfd563e17a59b299ed5d5a836f0eae401101e599",
      "subject": "Bug 2033123 - Gate megazord behind `uniffi-target` on non-Android r=nalexander"
    },
    "D302502": {
      "author": "smayya",
      "avatar": "https://www.gravatar.com/avatar/b032108dab3ccfada1140fb485c6e182?d=identicon\u0026s=64",
      "cl": "D302502",
      "clUrl": "https://phabricator.services.mozilla.com/D302502",
      "description": "Plumbing-only patch for Speculation Rules prefetch (M1, same-origin).\nAdds the PPrefetchRecord IPDL protocol, child/parent actor skeletons,\nand PWindowGlobal management. No behavior yet — Init/Cancel bodies and\nSpeculationRulesManager wiring follow in subsequent parts.\n\n- dom/ipc/PPrefetchRecord.ipdl (new): protocol definition\n- dom/ipc/PrefetchIPCTypes.ipdlh (new): shared IPDL types\n  (SpeculativePrefetchArgs) usable by PPrefetchRecord + PWindowGlobal\n- dom/ipc/PrefetchTypes.h (new): shared C++ enums (PrefetchState,\n  PrefetchAnonymizationPolicy, PrefetchSource) and ExchangeRecord\n- dom/ipc/PrefetchRecordChild.{h,cpp} (new): content-side actor; holds\n  URL + anon policy\n- dom/ipc/PrefetchRecordParent.{h,cpp} (new): parent-side actor; holds\n  prefetch record fields; empty RecvCancel/ActorDestroy\n- dom/ipc/PWindowGlobal.ipdl: add 'manages PPrefetchRecord;' and\n  constructor message\n- dom/ipc/WindowGlobalParent.{h,cpp}: add AllocPPrefetchRecordParent\n- dom/ipc/moz.build: wire new sources\n\nSpec: https://wicg.github.io/nav-speculation/prefetch.html\n\nDifferential Revision: https://phabricator.services.mozilla.com/D302502",
      "email": "smayya@mozilla.com",
      "hash": "31d07ee57de01953241906588c12ebda1d6e0bd1",
      "subject": "Bug 2037102 - [speculation-rules] Part 1.1: Add PPrefetchRecord IPDL actor scaffolding r=dom-core-reviewers,necko-reviewers,avandolder,nika,kershaw"
    },
    "D302503": {
      "author": "smayya",
      "avatar": "https://www.gravatar.com/avatar/b032108dab3ccfada1140fb485c6e182?d=identicon\u0026s=64",
      "cl": "D302503",
      "clUrl": "https://phabricator.services.mozilla.com/D302503",
      "description": "Empty DOM-side orchestrator class for Speculation Rules prefetch.\nHolds the active PrefetchRecordChild list; only RemoveRecord is\nimplemented for now. Document integration follows in Part 1.3;\nStartPrefetch / CancelPrefetch / GarbageCollect and rule parsing\nland in Part 6.\n\n- dom/base/SpeculationRulesManager.{h,cpp} (new): skeleton class\n- dom/base/moz.build: wire new sources\n\nSpec: https://wicg.github.io/nav-speculation/prefetch.html\n\nDifferential Revision: https://phabricator.services.mozilla.com/D302503",
      "email": "smayya@mozilla.com",
      "hash": "be3023bd8ec7f4c5c20a7b021cb737f2213927da",
      "subject": "Bug 2041008 - [speculation-rules] Part 1.2: Add SpeculationRulesManager skeleton r=dom-core-reviewers,avandolder"
    },
    "D302504": {
      "author": "smayya",
      "avatar": "https://www.gravatar.com/avatar/b032108dab3ccfada1140fb485c6e182?d=identicon\u0026s=64",
      "cl": "D302504",
      "clUrl": "https://phabricator.services.mozilla.com/D302504",
      "description": "Adds the lazy UniquePtr\u003cSpeculationRulesManager\u003e field on Document and\nwires PrefetchRecordChild::ActorDestroy to RemoveRecord via the\nWindow -\u003e Document chain. Records-list cleanup now happens automatically\non actor death (PWindowGlobal teardown, Send__delete__, content\nprocess crash).\n\nAlso adds a Source() accessor to PrefetchRecordParent to clear a\n-Wunused-private-field warning on mSource introduced in Part 1.1.\n\n- dom/base/Document.{h,cpp}: forward declaration, member, accessor,\n  include\n- dom/ipc/PrefetchRecordChild.cpp: wire ActorDestroy -\u003e RemoveRecord\n- dom/ipc/PrefetchRecordParent.h: add Source() accessor\n\nSpec: https://wicg.github.io/nav-speculation/prefetch.html\n\nDifferential Revision: https://phabricator.services.mozilla.com/D302504",
      "email": "smayya@mozilla.com",
      "hash": "60041157c2d327d5f364b9a20b3bae20298f0cfe",
      "subject": "Bug 2041008 - [speculation-rules] Part 1.3: Integrate SpeculationRulesManager with Document r=dom-core-reviewers,jjaschke"
    },
    "D302505": {
      "author": "smayya",
      "avatar": "https://www.gravatar.com/avatar/b032108dab3ccfada1140fb485c6e182?d=identicon\u0026s=64",
      "cl": "D302505",
      "clUrl": "https://phabricator.services.mozilla.com/D302505",
      "description": "Logging infrastructure and pref surface for Speculation Rules\nprefetch. No log calls yet.\n\n- dom/ipc/PrefetchLog.h (new): extern LazyLogModule\n  gSpeculationRulesLog + LOG_SPECRULES macros\n- dom/ipc/PrefetchRecordParent.cpp: define gSpeculationRulesLog\n- dom/ipc/moz.build: export PrefetchLog.h\n\nPrefs added to modules/libpref/init/StaticPrefList.yaml:\n- dom.speculation_rules.enabled (false): master switch\n- dom.speculation_rules.wait_timeout_ms (2000): navigation-wait timeout\n- dom.speculation_rules.max_records_per_document (20): records cap\n- dom.speculation_rules.max_body_bytes (5242880): body cap\n- dom.speculation_rules.record_expiry_ms (300000): record expiry\n- dom.speculation_rules.same_origin_only (true): same-origin gate\n\nEnable via: MOZ_LOG=SpeculationRules:5\n\nSpec: https://wicg.github.io/nav-speculation/prefetch.html\n\nDifferential Revision: https://phabricator.services.mozilla.com/D302505",
      "email": "smayya@mozilla.com",
      "hash": "4bae892402193d4412f25052d0a7116678637d8e",
      "subject": "Bug 2041008 - [speculation-rules] Part 1.4: Add SpeculationRules MOZ_LOG module and prefs r=dom-core-reviewers,avandolder"
    },
    "D302506": {
      "author": "smayya",
      "avatar": "https://www.gravatar.com/avatar/b032108dab3ccfada1140fb485c6e182?d=identicon\u0026s=64",
      "cl": "D302506",
      "clUrl": "https://phabricator.services.mozilla.com/D302506",
      "description": "Adds MOZ_LOG=SpeculationRules:5 visibility for the actor lifecycle and\nmanager bookkeeping wired up in Parts 1.1-1.4. Each log line carries\nthe relevant arguments (URL, anonymization policy, reason code, tag\ncount, remaining records).\n\n- dom/ipc/PrefetchRecordChild.cpp: log ctor + ActorDestroy\n- dom/ipc/PrefetchRecordParent.cpp: log RecvCancel + ActorDestroy\n- dom/base/SpeculationRulesManager.cpp: log RemoveRecord\n- dom/ipc/WindowGlobalParent.cpp: log AllocPPrefetchRecordParent\n  with deserialized URL + args\n\nDifferential Revision: https://phabricator.services.mozilla.com/D302506",
      "email": "smayya@mozilla.com",
      "hash": "2e05c616c7750e1ff965e5f0b06082640b5f3fa6",
      "subject": "Bug 2041008 - [speculation-rules] Part 1.5: Wire lifecycle log calls for prefetch actors and SpeculationRulesManager r=dom-core-reviewers,avandolder"
    },
    "D302507": {
      "author": "smayya",
      "avatar": "https://www.gravatar.com/avatar/b032108dab3ccfada1140fb485c6e182?d=identicon\u0026s=64",
      "cl": "D302507",
      "clUrl": "https://phabricator.services.mozilla.com/D302507",
      "description": "Implements \"start a referrer-initiated navigational prefetch\":\nHTTPS gate, same-origin gate, conditional isolation setup,\nNS_NewChannelInternal with TYPE_OTHER, Sec-Purpose header, referrer\ninfo, and AsyncOpen. Adds nsIStreamListener/nsIRequestObserver/\nnsIInterfaceRequestor/nsIChannelEventSink as base classes with full\nQI. OnDataAvailable enforces the body-bytes cap via\ndom.speculation_rules.max_body_bytes pref. OnStartRequest fills\nthe redirect chain entry with response status and No-Vary-Search\nheader. AsyncOnChannelRedirect updates the redirect chain; cross-site\npartition check follows in Part 2.3.\n\nHelper functions added: IsCrossOriginToDocument,\nPopulateIsolatedPartitionKey, ConfigureSecPurpose,\nPrefetchIPAnonymizationPolicyRequiresAnonymity, AppendRedirectChainEntry,\nFillResponseOnLastEntry.\n\nSpec: https://wicg.github.io/nav-speculation/prefetch.html#start-a-referrer-initiated-navigational-prefetch\n\nDifferential Revision: https://phabricator.services.mozilla.com/D302507",
      "email": "smayya@mozilla.com",
      "hash": "c5993d48e5b31a5a83cdeefc1db9e4c33790bbfc",
      "subject": "Bug 2037103 - [speculation-rules] Part 2.1: Implement PrefetchRecordParent::Init() and streaming interfaces r=dom-core-reviewers,necko-reviewers,avandolder,kershaw"
    },
    "D302508": {
      "author": "smayya",
      "avatar": "https://www.gravatar.com/avatar/b032108dab3ccfada1140fb485c6e182?d=identicon\u0026s=64",
      "cl": "D302508",
      "clUrl": "https://phabricator.services.mozilla.com/D302508",
      "description": "Completes AsyncOnChannelRedirect: when a redirect crosses a site\nboundary (proposedPartitionKey != sourcePartitionKey), the prefetch\nis aborted if the referrer policy would leak too much source-page\ninformation. Strict policies (strict-origin-when-cross-origin,\nstrict-origin, same-origin, no-referrer, empty) are allowed;\nno-referrer-when-downgrade, origin, origin-when-cross-origin,\nand unsafe-url are rejected.\n\nNew helpers: ComputePartitionKeyForChannel (derives partition key\nfrom the redirected URL via OriginAttributes::SetPartitionKey),\nIsReferrerPolicySufficientlyStrict.\n\nSpec: https://wicg.github.io/nav-speculation/prefetch.html#list-of-sufficiently-strict-speculative-navigation-referrer-policies\n\nDifferential Revision: https://phabricator.services.mozilla.com/D302508",
      "email": "smayya@mozilla.com",
      "hash": "2f858c2ca63055fa995123c979997e36dfeb359e",
      "subject": "Bug 2037103 - [speculation-rules] Part 2.2: Add cross-site redirect partition-key check r=dom-core-reviewers,necko-reviewers,avandolder,valentin"
    },
    "D302509": {
      "author": "smayya",
      "avatar": "https://www.gravatar.com/avatar/b032108dab3ccfada1140fb485c6e182?d=identicon\u0026s=64",
      "cl": "D302509",
      "clUrl": "https://phabricator.services.mozilla.com/D302509",
      "description": "Implements \"cancel and discard a prefetch record\": RecvCancel\nsets state=Canceled, aborts the channel, fires the prefetchstatusupdated\nfailure event stub, and notifies state-change waiters. ActorDestroy adds\na safety net that cancels the channel if the actor dies mid-flight\n(tab close, PWindowGlobal teardown, process crash).\n\n- PrefetchRecordParent: RecvCancel (idempotent guard, channel abort,\n  FirePrefetchStatusUpdated, NotifyPrefetchStateChanged); ActorDestroy\n  safety net; FirePrefetchStatusUpdated stub (BiDi wiring deferred)\n- WindowGlobalParent: NotifyPrefetchStateChanged stub (waiter logic\n  added in Part 4.2)\n\nSpec: https://wicg.github.io/nav-speculation/prefetch.html#prefetch-record-cancel-and-discard\n\nDifferential Revision: https://phabricator.services.mozilla.com/D302509",
      "email": "smayya@mozilla.com",
      "hash": "1b94e6e93f9255adf7b6fe8f7d4a9249004fc1c5",
      "subject": "Bug 2037103 - [speculation-rules] Part 3.1: Implement RecvCancel, ActorDestroy safety net, and FirePrefetchStatusUpdated stub r=dom-core-reviewers,avandolder"
    },
    "D302510": {
      "author": "smayya",
      "avatar": "https://www.gravatar.com/avatar/b032108dab3ccfada1140fb485c6e182?d=identicon\u0026s=64",
      "cl": "D302510",
      "clUrl": "https://phabricator.services.mozilla.com/D302510",
      "description": "Implements \"complete a prefetch record\": OnStopRequest success path\nsets expiry (via dom.speculation_rules.record_expiry_ms pref), deduplicates\nsame-URL completed records, sets state=Completed, fires prefetchstatusupdated\nsuccess stub, and notifies state-change waiters. OnStopRequest failure path\nuses MarkCanceled and notifies waiters.\n\nAdds MarkCanceled() helper (extracted from RecvCancel) so both RecvCancel\nand DedupePrefetchRecords can share the cancel logic without code duplication.\n\nDedupePrefetchRecords marks older Completed records with the same URL as\nCanceled.\n\nSpec: https://wicg.github.io/nav-speculation/prefetch.html#prefetch-record-complete\n\nDifferential Revision: https://phabricator.services.mozilla.com/D302510",
      "email": "smayya@mozilla.com",
      "hash": "558b46c940a2af86ce6544cf790b98038bca9f69",
      "subject": "Bug 2037103 - [speculation-rules] Part 3.2: Implement OnStopRequest completion path and DedupePrefetchRecords r=dom-core-reviewers,avandolder"
    },
    "D302512": {
      "author": "smayya",
      "avatar": "https://www.gravatar.com/avatar/b032108dab3ccfada1140fb485c6e182?d=identicon\u0026s=64",
      "cl": "D302512",
      "clUrl": "https://phabricator.services.mozilla.com/D302512",
      "description": "Implements the synchronous navigation matching algorithms:\n\n- \"find a matching complete prefetch record\": iterates managed\n  actors, prefers exact URL match over No-Vary-Search equivalence,\n  checks expiry and conflicting credentials on every redirect chain hop.\n\n- \"prefetch record matches a URL\": exact URL equality first, then\n  No-Vary-Search variance from redirect chain[0]'s response header via\n  mozilla::net::ParseNoVarySearchHeader /\n  URLsAreEquivalentModuloVariationConfig (bug 2038006).\n\n- IsExpectedToMatch: pre-response variant using the rule's noVarySearchHint;\n  used by \"wait for a matching prefetch record\" to identify ongoing records\n  that might complete into a match.\n\n- \"conflicting credentials exist\": computes hypothetical partition\n  key for each redirect hop; same-site always returns false (M1); M2 will\n  add nsICookieManager cookie presence check for cross-site hops.\n\nSpec: https://wicg.github.io/nav-speculation/prefetch.html#find-a-matching-complete-prefetch-record\n\nDifferential Revision: https://phabricator.services.mozilla.com/D302512",
      "email": "smayya@mozilla.com",
      "hash": "fd8d75cb12a3fe5f0838d37f30493de46a40d2d5",
      "subject": "Bug 2041372 - [speculation-rules] Part 4.1: Implement navigation matching algorithms r=dom-core-reviewers,necko-reviewers,avandolder,kershaw"
    },
    "D302513": {
      "author": "smayya",
      "avatar": "https://www.gravatar.com/avatar/b032108dab3ccfada1140fb485c6e182?d=identicon\u0026s=64",
      "cl": "D302513",
      "clUrl": "https://phabricator.services.mozilla.com/D302513",
      "description": "Implements \"wait for a matching prefetch record\": when navigation\narrives while a potentially matching prefetch is still ongoing,\nWaitForMatchingPrefetchRecord fast-paths to FindMatchingPrefetchRecord\n(sync), or registers a PrefetchMatchWaiter if ongoing records could\nsatisfy the URL.\n\nPrefetchMatchWaiter holds a MozPromise, an nsITimer for the\ndom.speculation_rules.wait_timeout_ms timeout, and an Atomic\u003cbool\u003e\nresolved flag to prevent double-resolution if the timer and a\nstate-change notification race.\nNotifyPrefetchStateChanged now iterates mPrefetchWaiters and calls\nOnRecordStateChanged on each.\n\nSpec: https://wicg.github.io/nav-speculation/prefetch.html#wait-for-a-matching-prefetch-record\n\nDifferential Revision: https://phabricator.services.mozilla.com/D302513",
      "email": "smayya@mozilla.com",
      "hash": "109b38c95b115dbedd925bf15804c87b0f88f247",
      "subject": "Bug 2041372 - [speculation-rules] Part 4.2: Implement async PrefetchMatchWaiter for the wait algorithm r=dom-core-reviewers,avandolder"
    },
    "D302514": {
      "author": "smayya",
      "avatar": "https://www.gravatar.com/avatar/b032108dab3ccfada1140fb485c6e182?d=identicon\u0026s=64",
      "cl": "D302514",
      "clUrl": "https://phabricator.services.mozilla.com/D302514",
      "description": "Hooks DocumentLoadListener::Open() to check for a matching prefetch record\nbefore opening the navigation channel to the network.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D302514",
      "email": "smayya@mozilla.com",
      "hash": "9516822646a4402c9ad52be722331073e4f3e65d",
      "subject": "Bug 2041381 - [speculation-rules] Part 5.1: Serve navigation from prefetch cache in DocumentLoadListener. r=necko-reviewers,cookie-reviewers,valentin"
    },
    "D302516": {
      "author": "smayya",
      "avatar": "https://www.gravatar.com/avatar/b032108dab3ccfada1140fb485c6e182?d=identicon\u0026s=64",
      "cl": "D302516",
      "clUrl": "https://phabricator.services.mozilla.com/D302516",
      "description": "Propagates the activation signal from DocumentLoadListener (parent process)\nto PerformanceNavigationTiming (content process) via a new boolean on\nnsDOMNavigationTiming, which is already IPC-serialized in RedirectToRealChannelArgs.\n\nWhen a navigation is served from a speculation rules prefetch cache,\nperformance.getEntriesByType(\"navigation\")[0].deliveryType returns\n\"navigational-prefetch\" instead of the default empty string.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D302516",
      "email": "smayya@mozilla.com",
      "hash": "361012b811d5de287d8094a05e2ab0a36c9335a7",
      "subject": "Bug 2041381 - [speculation-rules] Part 5.2: Expose deliveryType=\"navigational-prefetch\" on PerformanceNavigationTiming r=dom-core-reviewers,necko-reviewers,webidl,emilio,canova,saschanaz,kershaw,avandolder"
    },
    "D302517": {
      "author": "smayya",
      "avatar": "https://www.gravatar.com/avatar/b032108dab3ccfada1140fb485c6e182?d=identicon\u0026s=64",
      "cl": "D302517",
      "clUrl": "https://phabricator.services.mozilla.com/D302517",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D302517",
      "email": "smayya@mozilla.com",
      "hash": "2f0546f9f8d811ce3c397a4263350ea21b22b8c1",
      "subject": "Bug 2041381 - [speculation-rules] Part 6: Integrate DOM speculation rules parser with PrefetchRecord Actors and SpeculationRules manager. r=dom-core-reviewers,necko-reviewers,avandolder,kershaw"
    },
    "D302518": {
      "author": "smayya",
      "avatar": "https://www.gravatar.com/avatar/b032108dab3ccfada1140fb485c6e182?d=identicon\u0026s=64",
      "cl": "D302518",
      "clUrl": "https://phabricator.services.mozilla.com/D302518",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D302518",
      "email": "smayya@mozilla.com",
      "hash": "49eda02be24894d787d9733adea8cde28704f915",
      "subject": "Bug 2041381 - pass cookies storage info while creating channel in prefetch parent. r=necko-reviewers,jesup"
    },
    "D303694": {
      "author": "Alex Hochheiden",
      "avatar": "https://www.gravatar.com/avatar/d543df9ea6c80e41387222577084eec1?d=identicon\u0026s=64",
      "cl": "D303694",
      "clUrl": "https://phabricator.services.mozilla.com/D303694",
      "description": "This adds a `MacOSBundle` primitive and an `assemble_macos_bundle.py`\naction, so that a bundle can be declared in a `moz.build` instead of\nthe `Makefile.in` recipes that currently do it.\n\nThis commit is inert and just adds the necessary infrastructure\nfor handling this without make. The full migration is done in\nPart 3.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D303694",
      "email": "ahochheiden@mozilla.com",
      "hash": "f19b0f245b7bd8eedb4cc0b997b5cb14f5b1eda7",
      "subject": "Bug 2043863 - Part 1 - Add infrastructure for assembling macOS `.app` bundles from `moz.build` r=firefox-build-system-reviewers,sergesanspaille"
    },
    "D303695": {
      "author": "Alex Hochheiden",
      "avatar": "https://www.gravatar.com/avatar/d543df9ea6c80e41387222577084eec1?d=identicon\u0026s=64",
      "cl": "D303695",
      "clUrl": "https://phabricator.services.mozilla.com/D303695",
      "description": "These files are currently produced by preprocessor calls\nwired into the assembly recipes. Turning them into\n`GeneratedFile` outputs lets Part 3 consume them as inputs,\ninstead of every bundle running a preprocessor itself as a\nside effect of being assembled.\n\nThe existing preprocessor helpers don't cover two cases.\n`InfoPlist.strings` has to be UTF-16, so\n`Preprocessor.handleCommandLine` now honors `--output-encoding`\nwithout `--output`, encoding into the caller's byte stream so the\nexisting `generate` entry point can produce it. `browser/app`'s\n`Info.plist` needs a `CFBundleVersion` computed from the build id\nwhen it is built, not a value known up front, so it gets a small\nwrapper.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D303695",
      "email": "ahochheiden@mozilla.com",
      "hash": "b06adefb83c66583e1f633ba11eec205cb151d41",
      "subject": "Bug 2043863 - Part 2 - Migrate macOS `Info.plist`/`InfoPlist.strings` recipes to `GeneratedFile` r=firefox-build-system-reviewers,sergesanspaille,sylvestre"
    },
    "D303696": {
      "author": "Alex Hochheiden",
      "avatar": "https://www.gravatar.com/avatar/d543df9ea6c80e41387222577084eec1?d=identicon\u0026s=64",
      "cl": "D303696",
      "clUrl": "https://phabricator.services.mozilla.com/D303696",
      "description": "Parts 1 and 2 were the setup, and this is the migration itself.\nEach bundle is now described by a `MacOSBundle` declaration in\nits `moz.build`, and the recipe that used to assemble it is\nremoved from the corresponding `Makefile.in`.\n\nThis covers every macOS `.app` we build:\n- The four `ipc/app` process bundles\n- The crash reporter\n- The updater\n- The browser\n- The `callback_app.app` and `updater-xpcshell`'s `updater.app`,\n  two bundles in the update tests\n\nOnly the browser bundle stages all of `dist/bin`. The rest just\nplace a skeleton, their plists, and a binary. `updater-xpcshell`\nalso keeps a small non-cocoa recipe that copies its binary to\n`updater`, a rename that must preserve the executable bit and is\nleft for a follow-up.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D303696",
      "email": "ahochheiden@mozilla.com",
      "hash": "70ca2805f532b299860d54d2df72bd31ae8a5aa9",
      "subject": "Bug 2043863 - Part 3 - Assemble macOS `.app` bundles with `MacOSBundle` r=firefox-build-system-reviewers,sergesanspaille,sylvestre"
    },
    "D306609": {
      "author": "Alex Hochheiden",
      "avatar": "https://www.gravatar.com/avatar/d543df9ea6c80e41387222577084eec1?d=identicon\u0026s=64",
      "cl": "D306609",
      "clUrl": "https://phabricator.services.mozilla.com/D306609",
      "description": "The `mozbuild` crate now exposes `link_nss` and `link_nss_rustlib` so that\n`application-services` build scripts can link NSS from the objdir. `link_nss`\nemits cargo directives for the NSS shared libraries in `dist/bin`, and\n`link_nss_rustlib` adds static `mozpkix` and `pure_virtual` on top.\n\nFor those directives to resolve, the libraries they name have to be in\n`dist/lib`, and some of them were not installed there before. `mozpkix` is a\ngyp `static_library`, so a new `install_static_libs` option on `GYP_DIRS`\nmarks it for installation to `dist/lib` without forcing `DIST_INSTALL` on\nevery target in the gyp directory. `pure_virtual` gets `DIST_INSTALL`\ndirectly. On Windows the shared library import libs are installed to\n`dist/lib` too, so the dylib directives can find them at link time.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D306609",
      "email": "ahochheiden@mozilla.com",
      "hash": "d1f9d2e19f5e549c678c513e1990dd90dc56b862",
      "subject": "Bug 2033123 - Wire `mozbuild-rustlib` through application-services NSS link chain r=nalexander,firefox-build-system-reviewers,sergesanspaille"
    },
    "D306851": {
      "author": "Abhishek Nimalan",
      "avatar": "https://www.gravatar.com/avatar/4b859193ac792339821ab9af4d538267?d=identicon\u0026s=64",
      "cl": "D306851",
      "clUrl": "https://phabricator.services.mozilla.com/D306851",
      "description": "Linux only. Support native (OS-wide) profiling for Raptor tests in CI\nand locally using the perf profiler.\n\nperf profiles the entire Browsertime instance that the test is run in.\nThe resulting profile is symbolicated with build symbols using Samply\nand converted into a JSON profile in the Firefox Profiler format.\n\n--perf-profile is introduced as a Raptor option and a Mozharness extra\noption. A CI job with perf profiling can be created by adding\n--perf-profile to the job's configuration.\n\nTo run a Raptor test locally with perf profiling, use the --perf-profile\nflag with ./mach raptor\n\nCo-authored-by: KS \u003ckshampur@mozilla.com\u003e\n\nDifferential Revision: https://phabricator.services.mozilla.com/D306851",
      "email": "abhisheknimalan@gmail.com",
      "hash": "2a213addff3a22aa88ef8d112002d11266f77f7d",
      "subject": "Bug 2047451 - Add perf profiling support for Linux Raptor tests. r=perftest-reviewers,kshampur"
    },
    "D306852": {
      "author": "Abhishek Nimalan",
      "avatar": "https://www.gravatar.com/avatar/4b859193ac792339821ab9af4d538267?d=identicon\u0026s=64",
      "cl": "D306852",
      "clUrl": "https://phabricator.services.mozilla.com/D306852",
      "description": "These transforms configure perf profiling and symbolication dependencies\nfor Speedometer 3 Linux CI tasks when --native-profiling is used or\nwhen running on Autoland.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D306852",
      "email": "abhisheknimalan@gmail.com",
      "hash": "c4b827b889257ef79cf5f1cedbe9093a449e5c7c",
      "subject": "Bug 2047451 - Add transform and Autoland tasks for Speedometer 3 native profiling on Linux. r=perftest-reviewers,kshampur"
    },
    "D306853": {
      "author": "Abhishek Nimalan",
      "avatar": "https://www.gravatar.com/avatar/4b859193ac792339821ab9af4d538267?d=identicon\u0026s=64",
      "cl": "D306853",
      "clUrl": "https://phabricator.services.mozilla.com/D306853",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D306853",
      "email": "abhisheknimalan@gmail.com",
      "hash": "847e26de117ca0ba68b3770846bd2c6729980a1a",
      "subject": "Bug 2047451 - Update perfdocs to include info on native profiling on Linux. r=perftest-reviewers,afinder,aglavic"
    },
    "D308696": {
      "author": "Kui-Feng Lee",
      "avatar": "https://www.gravatar.com/avatar/e4ac214dbabf690b7a88e624fcdbaed8?d=identicon\u0026s=64",
      "cl": "D308696",
      "clUrl": "https://phabricator.services.mozilla.com/D308696",
      "description": "When the compositor sends a wl_display.error referencing an already-destroyed\nserver-allocated object (e.g. a wl_data_offer torn down during drag-and-drop),\nlibwayland's wl_closure_lookup_objects fails the object lookup and logs only\n\"unknown object (N), message error(ous)\" -- the real error code and message\nare discarded before display_handle_error runs, so WlLogHandler crashes\nwithout the actual reason.\n\nAdd an opt-in capture in wayland-proxy: parse the compositor-\u003eapplication byte\nstream (keeping message-boundary alignment across arbitrarily-split reads) and\nstash the message string of the latest wl_display.error.\nWlLogHandler_UnknownObject() then appends it to the crash reason. That is the\nonly pattern where libwayland has thrown the compositor's text away, so the\nother handlers are left alone.\n\nSetCaptureProtocolErrors() has to run before WaylandProxy::Create(): the\nscanner tracks message boundaries from the first byte the proxy forwards, and\nWayland has no marker to resync on, so switching capture on later would start\nthe parser in the middle of a message. That is too early in startup for a\npreference, so the switch is a Nightly build default that the environment\nvariable MOZ_WAYLAND_PROTOCOL_ERROR_DETAILS overrides.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D308696",
      "email": "thinker.li@gmail.com",
      "hash": "5e2c84add892e9914852686fb9c6ae8126308695",
      "subject": "Bug 2039706 - capture wl_display.error message in wayland-proxy r=stransky"
    },
    "D310035": {
      "author": "Jon Coppeard",
      "avatar": "https://www.gravatar.com/avatar/c9ec760b0d3a20a6775614baa4086871?d=identicon\u0026s=64",
      "cl": "D310035",
      "clUrl": "https://phabricator.services.mozilla.com/D310035",
      "description": "Currently we don't take account of the fact that we may run out of budget doing\nmain-thread-only marking at the start of a marking slice and return Finished\nwhen we're not.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D310035",
      "email": "jcoppeard@mozilla.com",
      "hash": "c2ea88d68c1012b04fad3f596e0131ebd54e28e1",
      "subject": "Bug 2051882 - Part 1: Fix handling of budget expiry during main thread only marking r=sfink"
    },
    "D310036": {
      "author": "Jon Coppeard",
      "avatar": "https://www.gravatar.com/avatar/c9ec760b0d3a20a6775614baa4086871?d=identicon\u0026s=64",
      "cl": "D310036",
      "clUrl": "https://phabricator.services.mozilla.com/D310036",
      "description": "Tighten up checks when budgeting concurrent marking and add a couple of asserts\nabout marker state to make it clearer what's happening.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D310036",
      "email": "jcoppeard@mozilla.com",
      "hash": "bb9dc19ebdfbb73a8324712b0022c9944050d5af",
      "subject": "Bug 2051882 - Part 2: Don't mark concurrently if no work for it to do r=sfink"
    },
    "D310039": {
      "author": "Jon Coppeard",
      "avatar": "https://www.gravatar.com/avatar/c9ec760b0d3a20a6775614baa4086871?d=identicon\u0026s=64",
      "cl": "D310039",
      "clUrl": "https://phabricator.services.mozilla.com/D310039",
      "description": "This sets the idle flag in the slice budget depending on whether we are in idle\ntime. This can be used by the GC for scheduling purposes.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D310039",
      "email": "jcoppeard@mozilla.com",
      "hash": "f9e1e71bc86276d311f5e3af8e548f72d8fa9e88",
      "subject": "Bug 2051882 - Part 3: Set idle flag in budget on creation r=sfink"
    },
    "D310061": {
      "author": "Olivia",
      "avatar": "https://www.gravatar.com/avatar/9bb5ba1328acae6f1d36d1c8564bc4bf?d=identicon\u0026s=64",
      "cl": "D310061",
      "clUrl": "https://phabricator.services.mozilla.com/D310061",
      "description": "Adding these tests in anticipation of removing the `geckoview-no-fission` suite, so we have some overlap in results.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D310061",
      "email": "ohall@mozilla.com",
      "hash": "f55fe066c6d6eb450d326e278760960e08b79a91",
      "subject": "Bug 2051964 - Add Fission Testing to GeckoView Performance r=sparky,perftest-reviewers"
    },
    "D310261": {
      "author": "Stephen A Pohl",
      "avatar": "https://www.gravatar.com/avatar/ceeb157ce698ad8c3e5be7c1317498bf?d=identicon\u0026s=64",
      "cl": "D310261",
      "clUrl": "https://phabricator.services.mozilla.com/D310261",
      "description": "MacOSAuthenticatorPresentationContextProvider held a strong reference to the requesting NSWindow for the lifetime of a passkey handshake. If the handshake stalled (the platform does not always invoke the completion callback) and the user then closed that window, the window had been -close'd but stayed retained, so it lingered as an invisible window that remains in Mission Control and captures mouse events over its old frame until Firefox is force-quit.\n\nStore the window number instead and resolve the presentation anchor lazily via -[NSApplication windowWithWindowNumber:], which returns nil once the window has closed. This removes the retain without depending on zeroing weak references (which are not enabled for our Objective-C++ sources).\n\nDifferential Revision: https://phabricator.services.mozilla.com/D310261",
      "email": "spohl@mozilla.com",
      "hash": "c400639a9bb193918e4862e9615e095922f1e0de",
      "subject": "Bug 2015460: Don't keep the requesting browser window alive during a macOS passkey handshake. r=keeler"
    },
    "D310696": {
      "author": "Stephen A Pohl",
      "avatar": "https://www.gravatar.com/avatar/ceeb157ce698ad8c3e5be7c1317498bf?d=identicon\u0026s=64",
      "cl": "D310696",
      "clUrl": "https://phabricator.services.mozilla.com/D310696",
      "description": "When a tab is dragged out of a window that is in native macOS fullscreen, the front-end opens a new top-level browser window. Because a fullscreen space is active, macOS adopts the new window into its own fullscreen space during its initial show, which goes through a synchronous XPC transition to the Dock. On recent macOS versions that transition can deadlock the main thread, leaving Firefox unresponsive until it is force quit.\n\nThis plumbs a one-shot CHROME_SUPPRESS_INITIAL_FULLSCREEN flag from the tab-detach code through to the Cocoa widget. When set, Show() temporarily marks the window as not supporting native fullscreen for its initial display, the same mechanism already used for popups, alerts, and always-on-top windows, and restores it right after. The window can still be taken into fullscreen afterwards via the green button.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D310696",
      "email": "spohl@mozilla.com",
      "hash": "9e88ac7a151315a68eadca1b902b87e408203730",
      "subject": "Bug 2051071: Don't let a tab detached from a fullscreen window enter native fullscreen on its initial show on macOS. r=mac-reviewers,firefox-desktop-core-reviewers ,tabbrowser-reviewers,bradwerth,mconley,jswinarton"
    },
    "D310767": {
      "author": "smayya",
      "avatar": "https://www.gravatar.com/avatar/b032108dab3ccfada1140fb485c6e182?d=identicon\u0026s=64",
      "cl": "D310767",
      "clUrl": "https://phabricator.services.mozilla.com/D310767",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D310767",
      "email": "smayya@mozilla.com",
      "hash": "4580b66c00179620f24c4a33a67f649dfb4e7de8",
      "subject": "Bug 2041381 - Enable Speculation Rules API (same-origin prefetch) for nightly. r=necko-reviewers,kershaw"
    },
    "D311228": {
      "author": "Sotaro Ikeda",
      "avatar": "https://www.gravatar.com/avatar/a0c6bcb88fdc08a4e55f4fcf65cf0428?d=identicon\u0026s=64",
      "cl": "D311228",
      "clUrl": "https://phabricator.services.mozilla.com/D311228",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D311228",
      "email": "sotaro.ikeda.g@gmail.com",
      "hash": "f56986b9ff7b35d8ff3294ca201206adce25e6b4",
      "subject": "Bug 2053159 r=gfx-reviewers,lsalzman"
    },
    "D311847": {
      "author": "Rob Wu",
      "avatar": "https://www.gravatar.com/avatar/30e26944b9b786ea16fce8b18394c6e4?d=identicon\u0026s=64",
      "cl": "D311847",
      "clUrl": "https://phabricator.services.mozilla.com/D311847",
      "description": "This moves the private browsing specifier for tabs.create(),\nfrom the Fenix layer to the Android-Components layer, very close to the\nGeckoView layer. That paves the path for bug 1372178, eventually.\n\nMore importantly, this also fixes two functional defects:\n\n- The original implementation in Fenix was only cosmetic (bug 1699444).\n  Now the opened tab is really sharing state with private browsing tabs.\n\n- The original implementation relied on an active tab, and would\n  otherwise open a non-private tab (bug 2041306). The new implementation\n  checks the app's current private browsing mode and is more reliable.\n\nThis patch includes some unit tests to test interaction with A-C, a full\nend-to-end test involving Fenix will be added in bug 2054102.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D311847",
      "email": "rob@robwu.nl",
      "hash": "156251d663b4be44576472cac329291ac64a1b4f",
      "subject": "Bug 1699444 - Plumbing for private flag of tabs.create() r=geckoview-reviewers,android-reviewers,android-addons-reviewers,owlish,willdurand,twhite"
    },
    "D311848": {
      "author": "Rob Wu",
      "avatar": "https://www.gravatar.com/avatar/30e26944b9b786ea16fce8b18394c6e4?d=identicon\u0026s=64",
      "cl": "D311848",
      "clUrl": "https://phabricator.services.mozilla.com/D311848",
      "description": "The `tabs.create()` call does currently not have a way for extensions to\nspecify where the tab should be opened (bug 1372178), so the\nimplementation currently picks an arbitrary tab. But this could enable\nextensions without private browsing access to open tabs in private\nbrowsing mode (PBM), so we are adding a check to guard against it.\n\nAn alternative implementation is to open the tab in the regular browsing\nmode. But the user would not notice that, and it could be confusing if\nthe user returns to the non-private browsing mode and finds some\nseemingly random tab. So for now we just reject `tabs.create()` calls.\n\nExtensions hitting this would encounter \"Cannot create new tab\" from\nhttps://searchfox.org/firefox-main/rev/a07b2cb8ff33387a81968a7ed9d59ebdc4dad607/mobile/shared/modules/geckoview/GeckoViewTab.sys.mjs#151\n\nTestRunnerActivity does not recognize the concept of private browsing,\nso this patch only has tests for the A-C layer, not a mochitest.\nBug 2054102 will add a more thorough integration test involving Fenix.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D311848",
      "email": "rob@robwu.nl",
      "hash": "07ee9c98e87263519f262dae27448fc7ce856447",
      "subject": "Bug 1699444 - Reject tabs.create() call when PBM is not allowed r=android-reviewers,android-addons-reviewers,willdurand,twhite"
    },
    "D311849": {
      "author": "Rob Wu",
      "avatar": "https://www.gravatar.com/avatar/30e26944b9b786ea16fce8b18394c6e4?d=identicon\u0026s=64",
      "cl": "D311849",
      "clUrl": "https://phabricator.services.mozilla.com/D311849",
      "description": "Currently, extension popups are unconditionally opened in non-private\nbrowsing mode. In contrast, on desktop extension popups are opened in\nthe private browsing mode of the window they are contained in.\n\nThis patch makes sure that any opened extension popup matches the\nprivate browsing state of the tab they are opened for.\n\nThe unit tests in this patch are limited to A-C interactions only;\na full integration test with Fenix will be added in bug 2054102.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D311849",
      "email": "rob@robwu.nl",
      "hash": "f12502b4cf6c72813473700f6f4cf7d4c41e75fa",
      "subject": "Bug 1748526 - Open action popups in matching private browsing mode on Android r=android-reviewers,android-addons-reviewers,willdurand,twhite"
    },
    "D311850": {
      "author": "Rob Wu",
      "avatar": "https://www.gravatar.com/avatar/30e26944b9b786ea16fce8b18394c6e4?d=identicon\u0026s=64",
      "cl": "D311850",
      "clUrl": "https://phabricator.services.mozilla.com/D311850",
      "description": "This provides test coverage in Fenix for:\n- bug 1699444\n- bug 1748526\n- bug 2041306\n\nDifferential Revision: https://phabricator.services.mozilla.com/D311850",
      "email": "rob@robwu.nl",
      "hash": "3d0f4f563f9fbc75ed6e06d20f9c932a11b31679",
      "subject": "Bug 2054102 - Add androidTest for extension in private browsing r=android-addons-reviewers,willdurand"
    },
    "D311851": {
      "author": "Rob Wu",
      "avatar": "https://www.gravatar.com/avatar/30e26944b9b786ea16fce8b18394c6e4?d=identicon\u0026s=64",
      "cl": "D311851",
      "clUrl": "https://phabricator.services.mozilla.com/D311851",
      "description": "The `GeckoWebExtension.isAllowedInPrivateBrowsing()` check\nunconditionally returns true for builtin extensions. This is wrong, its\nvalue should reflect what the engine considers to be allowed, reflected\nin the metadata.\n\nBuiltins are indeed granted private browsing access by default, unless\nthey set `\"incognito\": \"not_allowed\"` in their manifest.json to opt out\nof private browsing access.\n\nThis functionality is depended on by ExtensionPrivateBrowsingTest.kt\nthat I will add in the next commit.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D311851",
      "email": "rob@robwu.nl",
      "hash": "d5285127094ff2b4a0f8b4019cc607e7dcf95c1d",
      "subject": "Bug 2054102 - Support incognito:not_allowed for builtin extensions on Android r=android-addons-reviewers,willdurand"
    },
    "D311852": {
      "author": "Rob Wu",
      "avatar": "https://www.gravatar.com/avatar/30e26944b9b786ea16fce8b18394c6e4?d=identicon\u0026s=64",
      "cl": "D311852",
      "clUrl": "https://phabricator.services.mozilla.com/D311852",
      "description": "This provides the final piece of test coverage for bug 2041306, and\ndepends on support for `\"incognito\": \"not_allowed\"` for builtins,\nbecause there is currently no other easy way to test extensions without\nprivate browsing access on Fenix.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D311852",
      "email": "rob@robwu.nl",
      "hash": "febfdababb4d7b2d8c6146e5e903f147c6153305",
      "subject": "Bug 2054102 - Add test for tabs.create() failing in private browsing r=android-addons-reviewers,willdurand"
    },
    "D311994": {
      "author": "Timothy Nikkel",
      "avatar": "https://www.gravatar.com/avatar/0646a42110a02dd585f200f270716852?d=identicon\u0026s=64",
      "cl": "D311994",
      "clUrl": "https://phabricator.services.mozilla.com/D311994",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D311994",
      "email": "tnikkel@gmail.com",
      "hash": "a4a84a8497f6e0bb85643fd3e86bc57a11ae6a6f",
      "subject": "Bug 2054317. Add gtest for jxl crash. r=saschanaz"
    },
    "D312005": {
      "author": "Nicolas Grunbaum",
      "avatar": "https://www.gravatar.com/avatar/e49c6f6d2a2296f8ff216adbd0a60fe5?d=identicon\u0026s=64",
      "cl": "D312005",
      "clUrl": "https://phabricator.services.mozilla.com/D312005",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D312005",
      "email": "ngrunbaum@mozilla.com",
      "hash": "cf50addab76ac3b90aebb1d6330d52a77924b1c5",
      "subject": "Bug 2019469 - handle sendonly and recvonly extensions in protocol/rtp-headerextensions.html;r=bwc"
    },
    "D312144": {
      "author": "andyh",
      "avatar": "https://www.gravatar.com/avatar/5a8dd3fb0499f2c65ed93dae9027ac0c?d=identicon\u0026s=64",
      "cl": "D312144",
      "clUrl": "https://phabricator.services.mozilla.com/D312144",
      "description": "Previously, the `openBookmarkedURL` trigger was used to fire when a user added a bookmark. This was confusing and not descriptive of the trigger's purpose. This patch updates `openBookmarkedURL` to  `visitBookmarkedURL` and `bookmarkAdded` but keeps `openBookmarkedURL` as an alias for `bookmarkAdded` to avoid breaking existing triggers. Additionally, this patch adds the ability to extend the `visitBookmarkedURL` trigger to fire when a user visits a bookmarked URL.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D312144",
      "email": "andhuang@mozilla.com",
      "hash": "2aa1da32dd26a351aacb1a5c20c21bcdabe2dc03",
      "subject": "Bug 1821429 - Alias openBookmarkedURL to bookmarkAdded and added extend features. r=omc-reviewers,mimi"
    },
    "D312183": {
      "author": "Dana Keeler",
      "avatar": "https://www.gravatar.com/avatar/72636a193847f1a9c45521d07eb0dc6e?d=identicon\u0026s=64",
      "cl": "D312183",
      "clUrl": "https://phabricator.services.mozilla.com/D312183",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D312183",
      "email": "dkeeler@mozilla.com",
      "hash": "3c6f207a3eb4ca6344c0d7021f7c0223f693d1f3",
      "subject": "Bug 2050189 - migrate ssl.npn_type custom distribution to tls.npn_type labeled counter r=djackson"
    },
    "D312184": {
      "author": "Dana Keeler",
      "avatar": "https://www.gravatar.com/avatar/72636a193847f1a9c45521d07eb0dc6e?d=identicon\u0026s=64",
      "cl": "D312184",
      "clUrl": "https://phabricator.services.mozilla.com/D312184",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D312184",
      "email": "dkeeler@mozilla.com",
      "hash": "6b7db7847364da0f72651d5e7a277ba4f7d3ad9c",
      "subject": "Bug 2050189 - migrate ssl.key_exchange_algorithm_{full,resumed} to tls.key_exchange_algorithm dual labeled counter r=djackson"
    },
    "D312185": {
      "author": "Dana Keeler",
      "avatar": "https://www.gravatar.com/avatar/72636a193847f1a9c45521d07eb0dc6e?d=identicon\u0026s=64",
      "cl": "D312185",
      "clUrl": "https://phabricator.services.mozilla.com/D312185",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D312185",
      "email": "dkeeler@mozilla.com",
      "hash": "5cca6c09422425a1c2b794c5d58c9247aa5d5e43",
      "subject": "Bug 2050189 - migrate ssl.reasons_for_not_false_starting custom distribution to tls.reasons_for_not_false_starting labeled counter r=djackson"
    },
    "D312186": {
      "author": "Dana Keeler",
      "avatar": "https://www.gravatar.com/avatar/72636a193847f1a9c45521d07eb0dc6e?d=identicon\u0026s=64",
      "cl": "D312186",
      "clUrl": "https://phabricator.services.mozilla.com/D312186",
      "description": "ssl.auth_ecdsa_curve_full -\u003e tls.auth_ecdsa_curve\nssl.kea_ecdhe_curve_full -\u003e tls.kea_ecdhe_curve\n\nDifferential Revision: https://phabricator.services.mozilla.com/D312186",
      "email": "dkeeler@mozilla.com",
      "hash": "0917d7982e7cecf0c9a532f561e3a68b5a7d4b94",
      "subject": "Bug 2050189 - migrate TLS handshake auth and key exchange curve custom distribution telemetry to labeled counters r=djackson"
    },
    "D312187": {
      "author": "Dana Keeler",
      "avatar": "https://www.gravatar.com/avatar/72636a193847f1a9c45521d07eb0dc6e?d=identicon\u0026s=64",
      "cl": "D312187",
      "clUrl": "https://phabricator.services.mozilla.com/D312187",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D312187",
      "email": "dkeeler@mozilla.com",
      "hash": "852438554377a308a76628f54406684f5d183edb",
      "subject": "Bug 2050189 - migrate ssl.auth_algorithm_full custom distribution to tls.auth_algorithm labeled counter r=djackson"
    },
    "D312206": {
      "author": "Lee Salzman",
      "avatar": "https://www.gravatar.com/avatar/029a38b9773f1943419c24b7c3d93761?d=identicon\u0026s=64",
      "cl": "D312206",
      "clUrl": "https://phabricator.services.mozilla.com/D312206",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D312206",
      "email": "lsalzman@mozilla.com",
      "hash": "953e4e483f8a3abcb4eb1788b7b773a4a0570616",
      "subject": "Bug 2054673. r=gfx-reviewers,gw"
    },
    "D312213": {
      "author": "Lee Salzman",
      "avatar": "https://www.gravatar.com/avatar/029a38b9773f1943419c24b7c3d93761?d=identicon\u0026s=64",
      "cl": "D312213",
      "clUrl": "https://phabricator.services.mozilla.com/D312213",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D312213",
      "email": "lsalzman@mozilla.com",
      "hash": "55cf76d00b5a71083246f386087c69fd152db4f1",
      "subject": "Bug 2054842. r=gfx-reviewers,nical"
    },
    "D312257": {
      "author": "Tom Schuster",
      "avatar": "https://www.gravatar.com/avatar/643f0847a3bf01b6ac23263f1661d14e?d=identicon\u0026s=64",
      "cl": "D312257",
      "clUrl": "https://phabricator.services.mozilla.com/D312257",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D312257",
      "email": "tschuster@mozilla.com",
      "hash": "4901460b0e2da2897b3f66740b8bf510dac0104f",
      "subject": "Bug 2055161 - Reject chrome: principal in ValidatePrincipalCouldPotentiallyBeLoadedBy. r=nika"
    },
    "D312269": {
      "author": "Kershaw Chang",
      "avatar": "https://www.gravatar.com/avatar/608e04ebca94be52b05c003d51d43e07?d=identicon\u0026s=64",
      "cl": "D312269",
      "clUrl": "https://phabricator.services.mozilla.com/D312269",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D312269",
      "email": "kershaw@mozilla.com",
      "hash": "d2c41e52737d081ca27f784d21a0e997a54b0919",
      "subject": "Bug 2054662 - Add ownership check when registering a WebSocket event listener r=necko-reviewers,valentin"
    },
    "D312463": {
      "author": "Dão Gottwald",
      "avatar": "https://www.gravatar.com/avatar/45dfe136efbb8e5f89eb0b21775ab195?d=identicon\u0026s=64",
      "cl": "D312463",
      "clUrl": "https://phabricator.services.mozilla.com/D312463",
      "description": "UrlbarInput and SmartbarInput each carried a private _getURIFixupInfo that builds\nthe fixup flags and calls Services.uriFixup.getFixupURIInfo. Lift the body to a\nstatic UrlbarUtils.getURIFixupInfo(searchString, isPrivate) so the privileged\nurlbar-side modules (the UrlbarChild actor and UrlbarParentController) can reach the\nsame lookup when the fixup sites route over the seam. The inputs' _getURIFixupInfo\nnow delegates. Behavior-neutral.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D312463",
      "email": "dao@mozilla.com",
      "hash": "c409beea91005f2a188fc2d20117b943a1841985",
      "subject": "Bug 2055442 - Extract the urlbar's URI fixup-info lookup to UrlbarUtils. r=mak"
    },
    "D312464": {
      "author": "Dão Gottwald",
      "avatar": "https://www.gravatar.com/avatar/45dfe136efbb8e5f89eb0b21775ab195?d=identicon\u0026s=64",
      "cl": "D312464",
      "clUrl": "https://phabricator.services.mozilla.com/D312464",
      "description": "The trimmed-URL display refinement and the on-focus untrim read URI fixup info and\nnormalize a URL through Services.uriFixup / Services.io, which a content-web input\ncan't reach. Route both through the privileged UrlbarChild actor, following the\nwhereToOpen pattern: getFixupInfo returns the keywordAsSent / preferred-URI\ndisplay-spec primitives (never an nsIURIFixupInfo), and getURIDisplaySpec parses a\nURL, so the input holds only strings. The display policy stays in the input.\n\nBehavior-neutral for the chrome address bar and search bars: the actor runs in the\ninput's own process, so these reads stay synchronous with the same results.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D312464",
      "email": "dao@mozilla.com",
      "hash": "a6baf0c0141e64d6b49a9b8c7949fe9d64ad8bfc",
      "subject": "Bug 2055442 - Route the urlbar's display-time URI fixup reads through UrlbarChild. r=mak"
    },
    "D312465": {
      "author": "Dão Gottwald",
      "avatar": "https://www.gravatar.com/avatar/45dfe136efbb8e5f89eb0b21775ab195?d=identicon\u0026s=64",
      "cl": "D312465",
      "clUrl": "https://phabricator.services.mozilla.com/D312465",
      "description": "pickResult's single-word DNS check (gKeywordURIFixup.check) is per-window infobar\nUI that also needs the parent's search service to fix up the string, so it can't\nrun in a content input. Route it through UrlbarParentController.checkKeywordURIFixup,\ntargeting the same browser the load will use (fire-and-forget, mirroring\nspeculativeConnect); the parent rebuilds the fixup info locally and calls the\nunchanged gKeywordURIFixup global. The search string, not the non-cloneable\nnsIURIFixupInfo, crosses the seam.\n\nWith all three fixup sites routed, the inputs' _getURIFixupInfo is gone.\n\nBehavior-neutral for the address bar (chrome direct path runs synchronously). The\ncheck stays gated on isAddressbar: UrlbarInput was already gated (Bug 2054328);\nSmartbarInput now gains the gate too, so its smartbar/searchbar modes no longer run\nthe single-word DNS check -- an address bar behavior.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D312465",
      "email": "dao@mozilla.com",
      "hash": "c1fbfb1315e64dede2f62d38f98290416934cd45",
      "subject": "Bug 2055442 - Route the single-word keyword URI fixup check through the parent controller. r=mak"
    },
    "D312543": {
      "author": "Marco Bonardo",
      "avatar": "https://www.gravatar.com/avatar/06a01db28e1c2c2e9d5cd9dd5c4110d8?d=identicon\u0026s=64",
      "cl": "D312543",
      "clUrl": "https://phabricator.services.mozilla.com/D312543",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D312543",
      "email": "mbonardo@mozilla.com",
      "hash": "ed531ed39876345345bdcd7c767b3bf98317845c",
      "subject": "Bug 2054763. r=places-reviewers,Standard8"
    },
    "D312549": {
      "author": "Dana Keeler",
      "avatar": "https://www.gravatar.com/avatar/72636a193847f1a9c45521d07eb0dc6e?d=identicon\u0026s=64",
      "cl": "D312549",
      "clUrl": "https://phabricator.services.mozilla.com/D312549",
      "description": "These were useful when we were deprecating keys less than 2048 bits. We have\nsince done that, and there are no plans to deprecate keys less than some larger\nsize, so this telemetry is unnecessary at this point.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D312549",
      "email": "dkeeler@mozilla.com",
      "hash": "ded41a4aee35bcd87dab9886aa8570e811fc190c",
      "subject": "Bug 2050189 - remove unnecessary ssl.{kea_rsa,kea_dhe,auth_rsa}_key_size_full telemetry metrics r=djackson"
    },
    "D312598": {
      "author": "Dão Gottwald",
      "avatar": "https://www.gravatar.com/avatar/45dfe136efbb8e5f89eb0b21775ab195?d=identicon\u0026s=64",
      "cl": "D312598",
      "clUrl": "https://phabricator.services.mozilla.com/D312598",
      "description": "pickResult and _loadURL (mirrored in SmartbarInput) carried long positional\nparameter lists that forced filler like `null, false, browserId` at call\nsites. Both now take an options object, and _loadURL becomes the private\ncallers already compute.\n\nBehavior-neutral. The load still funnels through controller.loadURL, so tests\nthat previously stubbed _loadURL now stub that seam instead (aiwindow smartbar\ntests, browser_dns_first_for_single_words, browser_edit_invalid_url,\nbrowser_handleCommand_fallback).\n\nbrowser_privateFeature no longer reaches the load method directly; it drives\nthe private-window plumbing through handleNavigation. The original explicit\n`private: false` case has no public trigger (a private window can't open a\nnon-private one from the urlbar), so it is covered instead by opening from a\nnon-private window, which exercises the same isPrivate branch.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D312598",
      "email": "dao@mozilla.com",
      "hash": "daf5ed9ad12223850a33ed40a660100f594e9180",
      "subject": "Bug 2055646 - Convert urlbar pickResult/_loadURL to options-object signatures and make #loadURL private. r=mak"
    },
    "D312648": {
      "author": "Andrea Marchesini",
      "avatar": "https://www.gravatar.com/avatar/dfb8d0427dd67216b2664131a5c31421?d=identicon\u0026s=64",
      "cl": "D312648",
      "clUrl": "https://phabricator.services.mozilla.com/D312648",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D312648",
      "email": "amarchesini@mozilla.com",
      "hash": "242231e9cf83065a3e91391a7c51a31031ac54c9",
      "subject": "Bug 2055754 - Container: better centered icons, r=sfoster,desktop-theme-reviewers,fxview-reviewers"
    },
    "D312931": {
      "author": "Lee Salzman",
      "avatar": "https://www.gravatar.com/avatar/029a38b9773f1943419c24b7c3d93761?d=identicon\u0026s=64",
      "cl": "D312931",
      "clUrl": "https://phabricator.services.mozilla.com/D312931",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D312931",
      "email": "lsalzman@mozilla.com",
      "hash": "3e4cf6ba038e6f6b82f6f445204c02dc7a28fc81",
      "subject": "Bug 2054626 - Check for end of charstring. r=jfkthame"
    },
    "D313049": {
      "author": "Jonathan Sudiaman",
      "avatar": "https://www.gravatar.com/avatar/3ca705cbbd73ca8d2880c319b1d053a0?d=identicon\u0026s=64",
      "cl": "D313049",
      "clUrl": "https://phabricator.services.mozilla.com/D313049",
      "description": "Only the active row of a `\u003csidebar-tab-list\u003e` or `\u003csidebar-bookmark-list\u003e` should be a tab stop. Other rows are reachable using arrow keys.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D313049",
      "email": "jsudiaman@mozilla.com",
      "hash": "8d026cb01901edca33cfcf27cdb50d333512a8fd",
      "subject": "Bug 2046673 - Fix new sidebar: Tab key focuses individual history/bookmark items r=kcochrane,mstriemer"
    },
    "D313320": {
      "author": "Alex Hochheiden",
      "avatar": "https://www.gravatar.com/avatar/d543df9ea6c80e41387222577084eec1?d=identicon\u0026s=64",
      "cl": "D313320",
      "clUrl": "https://phabricator.services.mozilla.com/D313320",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D313320",
      "email": "ahochheiden@mozilla.com",
      "hash": "87a9fad7336c88f0f18d78547c55bf22713633fb",
      "subject": "Bug 2035575 - Point the Android `glean-build` at the `glean_parser` venv r=nalexander,firefox-build-system-reviewers,geckoview-reviewers"
    },
    "D313373": {
      "author": "Daisuke Akatsuka",
      "avatar": "https://www.gravatar.com/avatar/a65a0876b78fe449d63939aa44c86afc?d=identicon\u0026s=64",
      "cl": "D313373",
      "clUrl": "https://phabricator.services.mozilla.com/D313373",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D313373",
      "email": "daisuke@birchill.co.jp",
      "hash": "9f4bdbdd64a5ee9d7d6f8cc4c52bd19c94fca893",
      "subject": "Bug 2035512 - Increase the urlbar input's line-height so the caret can be placed anywhere r=desktop-theme-reviewers,urlbar-reviewers,dao"
    },
    "D313435": {
      "author": "Jon Coppeard",
      "avatar": "https://www.gravatar.com/avatar/c9ec760b0d3a20a6775614baa4086871?d=identicon\u0026s=64",
      "cl": "D313435",
      "clUrl": "https://phabricator.services.mozilla.com/D313435",
      "description": "It's clearer to just use TimeDuration to set the time budget and we already\nhave APIs for this.\n\nI had to increase a test tolerance in TestScheduler.NonIdle because the more\naccurate value now return wasn't close enough to the expected value.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D313435",
      "email": "jcoppeard@mozilla.com",
      "hash": "93cd685586523c889f12bda6a64d86e029026bd5",
      "subject": "Bug 2051882 - Part 4: Remove SliceBudget APIs that deal in an integer number of milliseconds r=sfink"
    },
    "D313436": {
      "author": "Jon Coppeard",
      "avatar": "https://www.gravatar.com/avatar/c9ec760b0d3a20a6775614baa4086871?d=identicon\u0026s=64",
      "cl": "D313436",
      "clUrl": "https://phabricator.services.mozilla.com/D313436",
      "description": "Currently we record the budget at the beginning of the slice, but this doesn't\nshow whether the slice was interrupted later. This means that this information\nis not displayed in the profiler.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D313436",
      "email": "jcoppeard@mozilla.com",
      "hash": "e5de6df4ddc74027353e11c72585fa50449dd401",
      "subject": "Bug 2051882 - Part 5: Update slice budget at end of slice to record whether it was interrupted r=sfink"
    },
    "D313437": {
      "author": "Jon Coppeard",
      "avatar": "https://www.gravatar.com/avatar/c9ec760b0d3a20a6775614baa4086871?d=identicon\u0026s=64",
      "cl": "D313437",
      "clUrl": "https://phabricator.services.mozilla.com/D313437",
      "description": "The aim here is to reducing bouncing between the main thread and the background\nthread by performing a small amount of marking work on the main thread if we\nthink we're nearly finished. If we do this too much we reduce the benefit of\nconcurrent marking but if we do this to little we can make GCs take much longer.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D313437",
      "email": "jcoppeard@mozilla.com",
      "hash": "4f3ba93fec1f2532b0906ea1e2a6e3adccec7640",
      "subject": "Bug 2051882 - Part 6: Tweak heuristic to do more marking on the main thread if we've ever finished concurrent marking on the background thread r=sfink"
    },
    "D313438": {
      "author": "Jon Coppeard",
      "avatar": "https://www.gravatar.com/avatar/c9ec760b0d3a20a6775614baa4086871?d=identicon\u0026s=64",
      "cl": "D313438",
      "clUrl": "https://phabricator.services.mozilla.com/D313438",
      "description": "This uses the budget's idle flag to yield eagerly rather that starting sweeping\nafter marking has finished for internally triggered slices not running in idle\ntime. This avoids transitioning from marking to sweeping (which in not\ninterruptible) in an unscheduled slice.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D313438",
      "email": "jcoppeard@mozilla.com",
      "hash": "f8dcf41239042da74a9759c7b8ce1a32af03f03f",
      "subject": "Bug 2051882 - Part 7: Try to do less work from unscheduled slices r=sfink"
    },
    "D313439": {
      "author": "Jon Coppeard",
      "avatar": "https://www.gravatar.com/avatar/c9ec760b0d3a20a6775614baa4086871?d=identicon\u0026s=64",
      "cl": "D313439",
      "clUrl": "https://phabricator.services.mozilla.com/D313439",
      "description": "This removes the yield at the end of marking if we're using concurrent marking\nas we will already yield before sweeping due to the previous patch.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D313439",
      "email": "jcoppeard@mozilla.com",
      "hash": "20f854cc264c7324c76bc2edec7f6de5dfc913ec",
      "subject": "Bug 2051882 - Part 8: Don't yield after marking if we're marking concurrently r=sfink"
    },
    "D313493": {
      "author": "Yoshi Cheng-Hao Huang",
      "avatar": "https://www.gravatar.com/avatar/0363e83e6e847e7090abbbafb08716ee?d=identicon\u0026s=64",
      "cl": "D313493",
      "clUrl": "https://phabricator.services.mozilla.com/D313493",
      "description": "Don't cache modules with HTTP errors, this allows devs to retry the imports if\nit was failed due to network failure.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D313493",
      "email": "allstars.chh@gmail.com",
      "hash": "e43b0f7cf3e5b081ef6c94c3b33134582ae5e057",
      "subject": "Bug 2055211 - Part 1: Implement HTML PR #10327. r=jonco"
    },
    "D313494": {
      "author": "Yoshi Cheng-Hao Huang",
      "avatar": "https://www.gravatar.com/avatar/0363e83e6e847e7090abbbafb08716ee?d=identicon\u0026s=64",
      "cl": "D313494",
      "clUrl": "https://phabricator.services.mozilla.com/D313494",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D313494",
      "email": "allstars.chh@gmail.com",
      "hash": "3c2347fd2d361d9642bac30fecd4733d942e4297",
      "subject": "Bug 2055211 - Part 2: Update wpt ini files. r=jonco"
    },
    "D313495": {
      "author": "Yoshi Cheng-Hao Huang",
      "avatar": "https://www.gravatar.com/avatar/0363e83e6e847e7090abbbafb08716ee?d=identicon\u0026s=64",
      "cl": "D313495",
      "clUrl": "https://phabricator.services.mozilla.com/D313495",
      "description": "Re-import a network errored module should succeed now.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D313495",
      "email": "allstars.chh@gmail.com",
      "hash": "a31abd45a0ae7d12890cebc14eff0edba4f1471f",
      "subject": "Bug 2055211 - Part 3: Update repeated-imports.any.js in text module. r=eemeli"
    },
    "D313496": {
      "author": "Yoshi Cheng-Hao Huang",
      "avatar": "https://www.gravatar.com/avatar/0363e83e6e847e7090abbbafb08716ee?d=identicon\u0026s=64",
      "cl": "D313496",
      "clUrl": "https://phabricator.services.mozilla.com/D313496",
      "description": "Make sure the \u003cscript\u003e is inserted after \u003clink rel=\"modulepreload\"\u003e is done,\nso the result would be consistent.\n\nOtherwise the \u003cscript\u003e might also be preloaded by the speculative parser and\nwill join a single in-flight fetch with the \u003clink\u003e.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D313496",
      "email": "allstars.chh@gmail.com",
      "hash": "219073d4f5e130c6a4ae173e2bc8b0779c5c6aa9",
      "subject": "Bug 2055211 - Part 4: Update /preload/modulepreload-sri-(importmap).html. r=jonco"
    },
    "D313527": {
      "author": "Nika Layzell",
      "avatar": "https://www.gravatar.com/avatar/fcf93a5a624020bf2256443c69e08b51?d=identicon\u0026s=64",
      "cl": "D313527",
      "clUrl": "https://phabricator.services.mozilla.com/D313527",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D313527",
      "email": "nika@thelayzells.com",
      "hash": "f48a4a1ef09e19558f03346ea6083bc0b14fcc7e",
      "subject": "Bug 2054674 - ValidatePrincipal in PServiceWorker, r=dom-worker-reviewers,asuth"
    },
    "D313528": {
      "author": "Nika Layzell",
      "avatar": "https://www.gravatar.com/avatar/fcf93a5a624020bf2256443c69e08b51?d=identicon\u0026s=64",
      "cl": "D313528",
      "clUrl": "https://phabricator.services.mozilla.com/D313528",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D313528",
      "email": "nika@thelayzells.com",
      "hash": "92784e8e3d57fb585cc265504e4d6fa0731bc78f",
      "subject": "Bug 2054667 - ValidatePrincipal in PServiceWorkerRegistration, r=dom-worker-reviewers,asuth"
    },
    "D313687": {
      "author": "Dão Gottwald",
      "avatar": "https://www.gravatar.com/avatar/45dfe136efbb8e5f89eb0b21775ab195?d=identicon\u0026s=64",
      "cl": "D313687",
      "clUrl": "https://phabricator.services.mozilla.com/D313687",
      "description": "The URL-load branch in handleNavigation (#isAddressbar \u0026\u0026 URL.canParse, reached\nby a search-mode engine Enter) called #loadURL without a browserId, unlike the\nsibling pick and fixup paths. loadURL then resolves the target from the live\nselectedBrowser at load time. On the message path the load round-trips, so a tab\nswitched between the Enter and the load steals it, landing the load in the wrong\ntab. Pin the target browser at the Enter commit, matching the other load paths;\nthe capture is hoisted from the fixup branch so both share one.\n\nBehavior-neutral on the direct path, where the load is synchronous and the\npinned browser is the one loadURL would have resolved anyway. A content\nmoz-urlbar has no gBrowser, so browserId stays null and the parent resolves the\nactor's own tab. Greens up browser_switchTabs.js (slow_load) on the message path.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D313687",
      "email": "dao@mozilla.com",
      "hash": "e690ee092e8dba13d15d9caad89f5d17043f8a59",
      "subject": "Bug 2051959 - [IPC Urlbar] Phase 6: Pin the addressbar load's target browser at the Enter commit. r=mbeier,urlbar-reviewers"
    },
    "D313798": {
      "author": "Dão Gottwald",
      "avatar": "https://www.gravatar.com/avatar/45dfe136efbb8e5f89eb0b21775ab195?d=identicon\u0026s=64",
      "cl": "D313798",
      "clUrl": "https://phabricator.services.mozilla.com/D313798",
      "description": "The one-off and search-mode Enter paths resolved the engine with\nUrlbarSearchUtils (the search service) and built the SERP submission URL\ncontent-side (UrlbarUtils.getSearchQueryUrl -\u003e engine.getSubmission), neither of\nwhich a content-process \u003cmoz-urlbar\u003e can do. Resolve the engine from the\ncontent-side engineStore (id + name) and route the SERP open through\nUrlbarParentController.openSERP, which resolves the full engine and builds the\nURL parent-side.\n\nopenSERP now annotates the load as a search visit (globalHistoryOptions), so the\nPlaces search-visit tagging survives the move parent-side -- and the same\nannotation now also covers openSearchEnginePage's SERP path, which lacked it.\nopenSERP and openSearchForm also resolve the window via browserWindow (from the\nactor) rather than this.input.window, which is null on the message path.\n\nBehavior-neutral on the direct path.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D313798",
      "email": "dao@mozilla.com",
      "hash": "4c750fdb1832a11aefd7b17836f3ab8aaa9b978a",
      "subject": "Bug 2057216 - Open the urlbar's engine-search Enter through the parent controller so it's content-safe. r=mbeier"
    },
    "D313831": {
      "author": "Kalen Lu",
      "avatar": "https://www.gravatar.com/avatar/b5323b1c1a332208ff8ec77c68131471?d=identicon\u0026s=64",
      "cl": "D313831",
      "clUrl": "https://phabricator.services.mozilla.com/D313831",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D313831",
      "email": "kalenblu@icloud.com",
      "hash": "521d75724f3327196fda6cf843d66da713140315",
      "subject": "Bug 2057175 - Fix persisting previews and scroll up behaviour when mouse leaves autocomplete dropdown panel. r=mtigley,credential-management-reviewers,tgiles"
    },
    "D313883": {
      "author": "Lee Salzman",
      "avatar": "https://www.gravatar.com/avatar/029a38b9773f1943419c24b7c3d93761?d=identicon\u0026s=64",
      "cl": "D313883",
      "clUrl": "https://phabricator.services.mozilla.com/D313883",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D313883",
      "email": "lsalzman@mozilla.com",
      "hash": "46d165bccd8e120d60bdbc76ea4868d9454a8b6e",
      "subject": "Bug 2050584. r=gfx-reviewers,nical"
    },
    "D313927": {
      "author": "Sotaro Ikeda",
      "avatar": "https://www.gravatar.com/avatar/a0c6bcb88fdc08a4e55f4fcf65cf0428?d=identicon\u0026s=64",
      "cl": "D313927",
      "clUrl": "https://phabricator.services.mozilla.com/D313927",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D313927",
      "email": "sotaro.ikeda.g@gmail.com",
      "hash": "99e6475d1acd78e1f140db6d94c9072426a5ab5c",
      "subject": "Bug 2057101 r=gfx-reviewers,nical"
    },
    "D313928": {
      "author": "Sotaro Ikeda",
      "avatar": "https://www.gravatar.com/avatar/a0c6bcb88fdc08a4e55f4fcf65cf0428?d=identicon\u0026s=64",
      "cl": "D313928",
      "clUrl": "https://phabricator.services.mozilla.com/D313928",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D313928",
      "email": "sotaro.ikeda.g@gmail.com",
      "hash": "0324618b835b5f6a1eab30e6d7c24ca8b2a50f73",
      "subject": "Bug 2057100 r=gfx-reviewers,nical"
    },
    "D313970": {
      "author": "Nicolas Guichard",
      "avatar": "https://www.gravatar.com/avatar/b84ce044c20eb323f7241752bbcef70e?d=identicon\u0026s=64",
      "cl": "D313970",
      "clUrl": "https://phabricator.services.mozilla.com/D313970",
      "description": "This is a follow-up of bug 1586036.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D313970",
      "email": "nicolas.guichard@kdab.com",
      "hash": "3ac6c32c842195a42f2c3367a55ebec2bfa5ed8b",
      "subject": "Bug 2053847 - Add obj-dir/dist/xpcrs/rt|bt/all.rs files to generated-sources.json. r=ahochheiden"
    },
    "D313977": {
      "author": "Nicolas Silva",
      "avatar": "https://www.gravatar.com/avatar/a375423648d373880fdd9e4eccc6b920?d=identicon\u0026s=64",
      "cl": "D313977",
      "clUrl": "https://phabricator.services.mozilla.com/D313977",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D313977",
      "email": "nsilva@mozilla.com",
      "hash": "b5e1fc1726f971ced2aca92ff7793ecc5fb2f58c",
      "subject": "Bug 2057470 - Add a debug option for initializing renderable textures with opaque pink. r=gfx-reviewers,gw"
    },
    "D313978": {
      "author": "Nicolas Silva",
      "avatar": "https://www.gravatar.com/avatar/a375423648d373880fdd9e4eccc6b920?d=identicon\u0026s=64",
      "cl": "D313978",
      "clUrl": "https://phabricator.services.mozilla.com/D313978",
      "description": "Also add an option to enable it for other sub-commands.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D313978",
      "email": "nsilva@mozilla.com",
      "hash": "1d3d675760966628ffbfe0f7fa12aa3a041aabf3",
      "subject": "Bug 2057470 - Enable the render target init debugging flag for wrench reftest. r=gfx-reviewers,gw"
    },
    "D313982": {
      "author": "Florin Bilt",
      "avatar": "https://www.gravatar.com/avatar/66888f892615887d653e4aa51927019f?d=identicon\u0026s=64",
      "cl": "D313982",
      "clUrl": "https://phabricator.services.mozilla.com/D313982",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D313982",
      "email": "fbilt@mozilla.com",
      "hash": "a75c5fc89d5a78ebca14576c68207f211c64b4d6",
      "subject": "Bug 1978597 - Fix formatting and process for inactive alert templates in perf-sheriffing docs r=perftest-reviewers,afinder"
    },
    "D313984": {
      "author": "Dão Gottwald",
      "avatar": "https://www.gravatar.com/avatar/45dfe136efbb8e5f89eb0b21775ab195?d=identicon\u0026s=64",
      "cl": "D313984",
      "clUrl": "https://phabricator.services.mozilla.com/D313984",
      "description": "A content/expanded-principal \u003cmoz-urlbar\u003e (about:newtab) can't reach the Urlbar\nactor the way a chrome one does: windowGlobalChild.getActor(\"Urlbar\") is\n[ChromeOnly] and the actor is a system-principal object content can't hold. So\nUrlbarChild exposes its content-facing surface on the content window\n(Cu.waiveXrays + Cu.cloneInto) and UrlbarChildController picks it up behind a\ntypeof-ChromeUtils gate -- the window-exposure pattern the UrlbarPrefs shim\nestablished (bug 2053759). A content-realm input always takes the message path.\ndom/docs/scriptSecurity/index.md sanctions exportFunction/cloneInto as the way to\nhand a privileged surface to a less privileged scope.\n\nThat shim is folded in here rather than left alongside, so the content realm gets\none port instead of two unrelated window globals from the same actor: its three\npref methods move onto the port as getPref/addPrefObserver/removePrefObserver and\nUrlbarContentPrefs reads them there. Nothing else read window.UrlbarPrefs. This\nalso drops a publish that was happening in the parent process, where the shim is\nnever read -- the port is content-only.\n\nWhy not RemotePageChild: it already provides exactly this (RPMSendQuery and\nfriends, auto-exported to the page), but it pairs with RemotePageAccessManager,\nwhose allowlist is keyed by page URL. \u003cmoz-urlbar\u003e is a custom element usable on\nany page rather than one about: URL, so there is no URL to key on. The\nINVOKABLE_CONTENT_ACTIONS allowlist here is RemotePageAccessManager's idea applied\nto the inbound direction instead.\n\nWhy not an event bridge (the MigrationWizardChild shape, where the element\ndispatches and the actor answers): it fits the port's asynchronous half, but not\nits reason for existing. whereToOpenLink, getFixupInfo and getDisplaySpec are\nsynchronous privileged reads -- the child actor runs in the input's own process,\nso they are plain calls, and bug 2055442 routed them that way deliberately. Their\ncallers can't take an async answer: the on-focus untrim decision must be made\nbefore the value is set, and #getValueFromResult returns the display string. An\nevent can carry a request but not a synchronous reply; nothing in tree answers one\nthat way.\n\nsendQuery hands back a content-realm promise built by #wrapPromise, following the\nwrapPromise convention (RemotePageChild, ASRouterChild, AboutWelcomeChild). A\nrejection is re-created as a content-realm Error carrying only its message, so\nneither a system-principal object nor a chrome stack crosses over -- the same care\nAboutTranslationsChild takes.\n\nBecause the port hands a content process sendAsyncMessage/sendQuery,\nUrlbarParent.receiveMessage now treats its payload as untrusted, acting only on\nknown message names and live controllers. It does not yet scope a\ncaller-supplied browser id to the sender; that hardening is left to a follow-up.\n\nBehavior-neutral in chrome: the gate keeps chrome/parent on the direct getActor\npath and on the direct UrlbarPrefs import, and the port is only published in a\ncontent process. Verify the prefs move on the chrome side, since that shim is\nshared by both transports.\n\nThe exposed path stays unexercised until a real content \u003cmoz-urlbar\u003e exists, and\ntwo things still stand in the way, both outside this commit: UrlbarChildController\nuses ChromeUtils at module scope so it can't load in a content realm yet, and the\nactor's registration has no instantiation trigger, so in a content process nothing\nwould create the actor and publish the port in the first place.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D313984",
      "email": "dao@mozilla.com",
      "hash": "174e73ca7acbe8a3b4e1d35e1a4f0c8e269d303f",
      "subject": "Bug 2057482 - Give the content realm one Urlbar actor port, and route the prefs shim through it. r=mbeier"
    },
    "D314003": {
      "author": "Jan-Niklas Jaeschke",
      "avatar": "https://www.gravatar.com/avatar/f8a4d2d2b8f9eec6bcb98f2ae8169d69?d=identicon\u0026s=64",
      "cl": "D314003",
      "clUrl": "https://phabricator.services.mozilla.com/D314003",
      "description": "Implements the relevant part of https://github.com/whatwg/html/pull/12263.\n\nSetOptionsSelectedByIndex enforces the selectedness invariant itself instead\nof going through RunSelectednessSettingAlgorithm, so it never schedules a\nselectedcontent update. Force one when it actually changes the selection,\nmatching select.value/select.selectedIndex, and add\nRunPendingSelectedContentUpdate() so the synchronous and microtask\nschedulers can't both fire for the same pending update.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D314003",
      "email": "jjaschke@mozilla.com",
      "hash": "2cb8dfd1631c50557347102bdfe126f4a979492d",
      "subject": "Bug 2045023 - Synchronously update descendant selectedcontent elements when option.selected changes. r=emilio"
    },
    "D314022": {
      "author": "Kui-Feng Lee",
      "avatar": "https://www.gravatar.com/avatar/e4ac214dbabf690b7a88e624fcdbaed8?d=identicon\u0026s=64",
      "cl": "D314022",
      "clUrl": "https://phabricator.services.mozilla.com/D314022",
      "description": "A muted autoplay video still holds the \"video-playing\" wake lock: that lock is\ntaken whenever a playing video has an audio track, and muting only silences the\ntrack without removing it. On GTK, once such a video's tab or subframe is\nbackgrounded, that lock becomes a GNOME SUSPEND inhibitor and blocks the system\nfrom sleeping. Because the video is silent, the tab shows no sound indicator, so\nnothing tells the user what is keeping the machine awake.\n\nGTK was the only backend doing this: macOS, Windows and Android all release\nthe video lock once it is backgrounded. Genuinely audible background playback\nis covered by the separate \"audio-playing\" topic, so a backgrounded\nvideo-playing lock should hold no inhibitor at all.\n\nRelease both the foreground (IDLE) and background (SUSPEND) inhibitors when a\nvideo-playing lock goes to locked-background. Foreground video still holds an\nIDLE inhibitor to keep the display awake.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D314022",
      "email": "thinker.li@gmail.com",
      "hash": "c2b3867edf5aba188ae040d4db990b17cc8a633c",
      "subject": "Bug 2057365 - Don't hold a suspend inhibitor for a backgrounded video-playing wake lock on GTK r=emilio"
    },
    "D314026": {
      "author": "Tymur Boiko",
      "avatar": "https://www.gravatar.com/avatar/e5455cbc9ccf5951783c79fc29beda3c?d=identicon\u0026s=64",
      "cl": "D314026",
      "clUrl": "https://phabricator.services.mozilla.com/D314026",
      "description": "Raise FFMPEG_MAX_MAJOR_VERSION to 63 and add the ffmpeg63 header tree\nso system/custom libavcodec.so.63 can be loaded. Keep libavcodec.so.62\nin the runtime linker search list after the max bump. Adapt to FFmpeg\n63 API removals: query sample rates via avcodec_get_supported_config,\nand pick the Vulkan transfer queue from AVVulkanDeviceContext::qf.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D314026",
      "email": "tboiko@nvidia.com",
      "hash": "df4c67dc9015f789b258e112450397049ca4337d",
      "subject": "Bug 2057577 - DOM Media - Add FFmpeg 63 support. r=alwu,frontend-codestyle-reviewers,Standard8"
    },
    "D314066": {
      "author": "nickgrato",
      "avatar": "https://www.gravatar.com/avatar/a7b6ca56863cce809ebb726fa44ef43b?d=identicon\u0026s=64",
      "cl": "D314066",
      "clUrl": "https://phabricator.services.mozilla.com/D314066",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D314066",
      "email": "ngrato@gmail.com",
      "hash": "1ce67dcb6ce019322dd68470c0ee960bbc21c766",
      "subject": "Bug 2054529 - [Monitor Agent][FE] Move hardcded string to locals preview file r=yjamora,fluent-reviewers,bolsson import uuid"
    },
    "D314069": {
      "author": "Alastor Wu",
      "avatar": "https://www.gravatar.com/avatar/9f64a3c43c01820fd6be6b1ee3f326e1?d=identicon\u0026s=64",
      "cl": "D314069",
      "clUrl": "https://phabricator.services.mozilla.com/D314069",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D314069",
      "email": "alwu@mozilla.com",
      "hash": "2f622e23ce55cf5d503732a1f1073ed17fe9f3f8",
      "subject": "Bug 2057116 - Only initialize the remote media engine once. r=media-playback-reviewers,chunmin"
    },
    "D314070": {
      "author": "Alastor Wu",
      "avatar": "https://www.gravatar.com/avatar/9f64a3c43c01820fd6be6b1ee3f326e1?d=identicon\u0026s=64",
      "cl": "D314070",
      "clUrl": "https://phabricator.services.mozilla.com/D314070",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D314070",
      "email": "alwu@mozilla.com",
      "hash": "b43d2fb1b75472ecd2e38b9a1c7a51775b078a9d",
      "subject": "Bug 2057115 - Synchronize access to the CDM proxy state. r=media-playback-reviewers,chunmin"
    },
    "D314119": {
      "author": "Mike Conley",
      "avatar": "https://www.gravatar.com/avatar/4b4985a7acf7db49dfddd7815b55a043?d=identicon\u0026s=64",
      "cl": "D314119",
      "clUrl": "https://phabricator.services.mozilla.com/D314119",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D314119",
      "email": "mconley@mozilla.com",
      "hash": "c349d8d66e122e3816d608add137a78aeb651b3c",
      "subject": "Bug 2053418 - Part 1: Allow asrouter-newtab-message buttons to override their moz-button type. r=omc-reviewers,sachung"
    },
    "D314120": {
      "author": "Mike Conley",
      "avatar": "https://www.gravatar.com/avatar/4b4985a7acf7db49dfddd7815b55a043?d=identicon\u0026s=64",
      "cl": "D314120",
      "clUrl": "https://phabricator.services.mozilla.com/D314120",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D314120",
      "email": "mconley@mozilla.com",
      "hash": "05a2c4435bd7b3e39ee9592c7f3a0a044928b3f6",
      "subject": "Bug 2053418 - Part 2: Let asrouter-newtab-message reformulate content from polled declarative state targeting. r=omc-reviewers,thecount,sachung,mimi"
    },
    "D314176": {
      "author": "Tymur Boiko",
      "avatar": "https://www.gravatar.com/avatar/e5455cbc9ccf5951783c79fc29beda3c?d=identicon\u0026s=64",
      "cl": "D314176",
      "clUrl": "https://phabricator.services.mozilla.com/D314176",
      "description": "Vulkan Video VP9 decoding requires libavcodec 62 or newer. Skip the Vulkan decoder with older FFmpeg versions so initialization can fall back to VA-API.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D314176",
      "email": "tboiko@nvidia.com",
      "hash": "971b0e7cdee14118372143aa5a2bb12f9881e687",
      "subject": "Bug 2057693 - Fix fallback for Vulkan Video VP9 decoding. r=alwu"
    },
    "D314218": {
      "author": "Emilio Cobos Álvarez",
      "avatar": "https://www.gravatar.com/avatar/1d91d22a4892f16f744b31fd4286144e?d=identicon\u0026s=64",
      "cl": "D314218",
      "clUrl": "https://phabricator.services.mozilla.com/D314218",
      "description": "The low bits of string hashes are not that good.\n\nThis should actually improve pre-regression behavior as well, see\nbug 2051347 for some analysis and try runs.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D314218",
      "email": "emilio@crisal.io",
      "hash": "cd4b1ac23d8774e517df990ae4dc88da03802b8d",
      "subject": "Bug 2057768 - Improve atom subtable selection after HashString change. r=smaug"
    },
    "D314273": {
      "author": "Dão Gottwald",
      "avatar": "https://www.gravatar.com/avatar/45dfe136efbb8e5f89eb0b21775ab195?d=identicon\u0026s=64",
      "cl": "D314273",
      "clUrl": "https://phabricator.services.mozilla.com/D314273",
      "description": "A UrlbarParentController outlives the window global it belongs to: it registers a\nweak browser-search-engine-modified observer, so a later engine change still\nreaches a controller whose window has closed. Its parent-side child proxy then\ncalls sendAsyncMessage on a dead actor, which throws InvalidStateError. The stale\ncontrollers also accumulate, because the child's per-input Destroy message comes\nfrom a FinalizationRegistry that never runs when the whole window global goes\naway -- so every subsequent engine change throws once per window ever closed.\n\nTear the controllers down when the actor is destroyed, unregistering that\nobserver so an engine change stops reaching them at all, and route the proxies'\nsends through one guard for what can still arrive after teardown: work a\ncontroller already started -- a query, a provider's engagement hook -- resolves\nindependently of its window global.\n\nThe guard is narrower than the throw, deliberately. sendAsyncMessage throws on\n!CanSend() || !mManager || !mManager-\u003eCanSend(), and sendToChild tests only the\nmanager half; the actor's own CanSend() goes false at StartDestroy, before\ndidDestroy runs. JS has no way to read it, and a try/catch there would swallow\ngenuine serialization failures too. With the observer unregistered at teardown, I\nhave no path that reaches that window.\n\nConsole-only: a dropped notification had nowhere to arrive. The message path is\noff by default (browser.urlbar.ipc.chromeMessagePassing); with it on, this drops\nthe urlbar's share of the InvalidStateError reports in\nbrowser_searchModeSwitcher_basic.js. That file still logs some either way -- they\nshow up with the pref off too, at comparable volume, where these proxies are\nnever built, so another actor fails to send during window-global teardown. Worth\nknowing for review: this also doesn't change the file's three failures. Those\ncome from the message path having no synchronous engine-store init, so UrlbarInput\nfalls back to its after-paint path and a new window's switcher icon isn't set\nwhen the test asserts on it -- a separate defect.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D314273",
      "email": "dao@mozilla.com",
      "hash": "9bc0833585d31e942670baeef1bd9c965f62f494",
      "subject": "Bug 2057864 - Don't send urlbar message-path notifications to a closed window global. r=Standard8"
    },
    "D314278": {
      "author": "Dão Gottwald",
      "avatar": "https://www.gravatar.com/avatar/45dfe136efbb8e5f89eb0b21775ab195?d=identicon\u0026s=64",
      "cl": "D314278",
      "clUrl": "https://phabricator.services.mozilla.com/D314278",
      "description": "UrlbarParentControllerProxy had neither openSERP nor openSearchForm, so opening an\nengine's page directly from the search mode switcher (shift-click or shift-Enter on\nan engine, via openSearchEnginePage) threw \"openSearchForm is not a function\" on the\nmessage path and no page ever loaded. The parent-side implementations already resolve\ntheir window through the actor, so only the wire hop was missing: add the two proxy\nmethods and their actor cases. Both are fire-and-forget with cloneable arguments,\nlike the other navigation commands.\n\nBehavior-neutral on the direct path, which builds the real controller in place and\nnever consults the proxy.\n\nGreens open_engine_page_directly, the last message-path failure in\nbrowser_searchModeSwitcher_basic.js; the file now runs green over the wire with the\nsame assertion count as the direct path.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D314278",
      "email": "dao@mozilla.com",
      "hash": "7f660eaef54fcfdeac019efa4ab29a813f395f34",
      "subject": "Bug 2051959 - [IPC Urlbar] Phase 6: Route the switcher's engine-page opens over the message path. r=Standard8"
    },
    "D314289": {
      "author": "mayankleoboy1",
      "avatar": "https://www.gravatar.com/avatar/5ce84f7ec7214e92e88ac71d71c63049?d=identicon\u0026s=64",
      "cl": "D314289",
      "clUrl": "https://phabricator.services.mozilla.com/D314289",
      "description": "Bug 1347168 added an array holding a strong reference to every registered\nanimation element for the duration of SMILAnimationController::DoSample,\nbecause SMILCompositor stores raw SMILAnimationFunction pointers owned by\nthose elements and composing can run script.\n\nThat reference is only load-bearing for elements that actually contributed\nan entry to the compositor table. Animation elements with no resolvable\ntarget attribute never reach a compositor, so holding them costs an addref\nand a release per element per tick for nothing.\n\nHave AddAnimationToCompositorTable report whether it added an entry and only\nhold elements that did. Also drop the now-pointless capacity reservation,\nwhich allocated an array sized for every animation element in the document\non every sample.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D314289",
      "email": "mayankleoboy1@gmail.com",
      "hash": "2552ace197aff3914c4111e4f7d8ec6186194bf5",
      "subject": "Bug 2058771 - Only keep animation elements alive when a compositor refers to them."
    },
    "D314298": {
      "author": "Mark Hammond",
      "avatar": "https://www.gravatar.com/avatar/892812c8e0a35b4cc1b131ad00c2ebbc?d=identicon\u0026s=64",
      "cl": "D314298",
      "clUrl": "https://phabricator.services.mozilla.com/D314298",
      "description": "Move the session-token access-token fetch out of FxAccountsInternal into a\nnew FxAccountsOAuth.getAccessToken(), and have getOAuthToken() use it via\nwithVerifiedAccountState(). This is a pure refactor with no behavior change,\nsetting the framework for moving all of this to using the refresh token\nin bug 2053654.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D314298",
      "email": "mhammond@skippinet.com.au",
      "hash": "5b3473e600c4592bf3974a4eff4d34ca76df2129",
      "subject": "Bug 2057976 - refactor OAuth access-token retrieval into FxAccountsOAuth. r=skhamis"
    },
    "D314314": {
      "author": "Florian Quèze",
      "avatar": "https://www.gravatar.com/avatar/0ffa237c82d28773736b6c9688b404e3?d=identicon\u0026s=64",
      "cl": "D314314",
      "clUrl": "https://phabricator.services.mozilla.com/D314314",
      "description": "Also re-enables browser_doorhanger_sp_patch_partialApplyFailure.js, which was\nskipped in bug 2057934 for the a11y checks failure this fixes.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D314314",
      "email": "florian@queze.net",
      "hash": "e7a0b9b00b177917b96257bb2651bfd8bd4fafd7",
      "subject": "Bug 2056652 - Wait for the update doorhanger panel to be fully shown before clicking its button, r=application-update-reviewers,yjuglaret."
    },
    "D314383": {
      "author": "Sylvestre Ledru",
      "avatar": "https://www.gravatar.com/avatar/03c6ad7cd8eb0496b53d7a86ccf8c8f6?d=identicon\u0026s=64",
      "cl": "D314383",
      "clUrl": "https://phabricator.services.mozilla.com/D314383",
      "description": "Without a .watchmanconfig, watchman watches the whole source tree including the\nin-tree objdir. Watchman's default ignore_vcs covers .git, but build output is\nnot covered. On a Linux checkout this accounted for ~9600 extra inotify watches,\nand a build's event burst can overflow fs.inotify.max_queued_events (16384 by\ndefault), which forces a watchman recrawl.\n\nA recrawl makes git's core.fsmonitor hook report a fresh instance, which\ninvalidates git's untracked cache. The next `git status` then calls opendir() on\n41713 directories instead of 0, costing roughly 1.2s extra on a 472k-file\ncheckout.\n\nBoth obj*/ and artifacts/ are already gitignored, so suppressing watchman events\nfor them cannot cause git to miss a change.\n\nignore_dirs does not support globs, so the entries have to be exact paths: the\ndefault obj-@CONFIG_GUESS@ names produced by mach plus a few common mozconfig\nconventions. Developers using another objdir name can add their own, and an\nobjdir outside the source tree needs no entry at all. The file has to stay\nstrict JSON, because watchman silently discards the entire config if it contains\ncomments.\n\nDONTBUILD\n\nDifferential Revision: https://phabricator.services.mozilla.com/D314383",
      "email": "s@mozilla.com",
      "hash": "aefee1489afe9931754c826bbee2556c45c914b4",
      "subject": "Bug 2058179 - Add a .watchmanconfig to exclude in-tree objdirs from watchman r=firefox-build-system-reviewers,ahochheiden"
    },
    "D314393": {
      "author": "Jan de Mooij",
      "avatar": "https://www.gravatar.com/avatar/709c5feed942bf99f098bb24aa1cc86f?d=identicon\u0026s=64",
      "cl": "D314393",
      "clUrl": "https://phabricator.services.mozilla.com/D314393",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D314393",
      "email": "jdemooij@mozilla.com",
      "hash": "4abff7d74bb3b370ac33c12936fc4cdcfdba16f6",
      "subject": "Bug 1952164 - Check for register uses in LIRGenerator::visitInt32ToIntPtr. r=iain"
    },
    "D314404": {
      "author": "Florin Bilt",
      "avatar": "https://www.gravatar.com/avatar/66888f892615887d653e4aa51927019f?d=identicon\u0026s=64",
      "cl": "D314404",
      "clUrl": "https://phabricator.services.mozilla.com/D314404",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D314404",
      "email": "fbilt@mozilla.com",
      "hash": "9c9caf7a451e8eaa303f18721da4003c8b41d878",
      "subject": "Bug 2058172 - Disable android ytp power tests in the general-perf-testing cron r=perftest-reviewers,taskgraph-reviewers,sparky,ahal"
    },
    "D314528": {
      "author": "James Teh",
      "avatar": "https://www.gravatar.com/avatar/749580f8bd5af77c57367e6c2717e283?d=identicon\u0026s=64",
      "cl": "D314528",
      "clUrl": "https://phabricator.services.mozilla.com/D314528",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D314528",
      "email": "jteh@mozilla.com",
      "hash": "fed3468708c4cae84d63a60612b1b9384bba68ab",
      "subject": "Bug 2056456: Use RefPtr for the RemoteAccessible tree. r=eeejay"
    },
    "D314535": {
      "author": "Masayuki Nakano",
      "avatar": "https://www.gravatar.com/avatar/900caab146bc7a489b3854cf10acf93f?d=identicon\u0026s=64",
      "cl": "D314535",
      "clUrl": "https://phabricator.services.mozilla.com/D314535",
      "description": "ibus added a new value, `2`, to `IBUS_ENABLE_SYNC_MODE` and only `1`\nis the synchronous mode. So, we need to update the logic here.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D314535",
      "email": "masayuki@d-toybox.com",
      "hash": "8ba2c2e3167041aa6bbf279a1cbbb420f1bc5a03",
      "subject": "Bug 2051354 - part 1: Update `IsIBusInSyncMode()` for the newer ibus r=m_kato"
    },
    "D314536": {
      "author": "Masayuki Nakano",
      "avatar": "https://www.gravatar.com/avatar/900caab146bc7a489b3854cf10acf93f?d=identicon\u0026s=64",
      "cl": "D314536",
      "clUrl": "https://phabricator.services.mozilla.com/D314536",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D314536",
      "email": "masayuki@d-toybox.com",
      "hash": "7540a46436f1947f229f986952bf63577ec3654a",
      "subject": "Bug 2051354 - part 2: Improve Logging of `IMContextWrapper` r=m_kato"
    },
    "D314537": {
      "author": "Masayuki Nakano",
      "avatar": "https://www.gravatar.com/avatar/900caab146bc7a489b3854cf10acf93f?d=identicon\u0026s=64",
      "cl": "D314537",
      "clUrl": "https://phabricator.services.mozilla.com/D314537",
      "description": "We don't map any `keyval` values to `KEY_NAME_INDEX_USE_STRING` because\nthere are too big number of values which introduce text input.\nTherefore, we need to make it return `KEY_NAME_INDEX_USE_STRING` since\nit's unclear whether it won't return `KEY_NAME_INDEX_USE_STRING` and\nactually there are some wrong users. [1][2][3].\n\n1. https://searchfox.org/firefox-main/rev/3b3f727963c10fe58e6e72c15989ad0e35dbf832/widget/gtk/IMContextWrapper.cpp#1644-1645\n2. https://searchfox.org/firefox-main/rev/3b3f727963c10fe58e6e72c15989ad0e35dbf832/widget/gtk/IMContextWrapper.cpp#1756-1757\n3. https://searchfox.org/firefox-main/rev/3b3f727963c10fe58e6e72c15989ad0e35dbf832/widget/gtk/IMContextWrapper.cpp#1908-1909\n\nDifferential Revision: https://phabricator.services.mozilla.com/D314537",
      "email": "masayuki@d-toybox.com",
      "hash": "df2c23b1fc3b476133e58504c55fa6e27fbcc4c4",
      "subject": "Bug 2051354 - part 3: Make `KeymapWrapper::ComputeDOMKeyNameIndex` return `KEY_NAME_INDEX_USE_STRING` r=m_kato"
    },
    "D314538": {
      "author": "Masayuki Nakano",
      "avatar": "https://www.gravatar.com/avatar/900caab146bc7a489b3854cf10acf93f?d=identicon\u0026s=64",
      "cl": "D314538",
      "clUrl": "https://phabricator.services.mozilla.com/D314538",
      "description": "Currently, we use `eKeyPress` event for a commit composition without\ncomposing state if:\n* the commit string is a non-BMP character\n* the commit string matches with the source key press event's `keyval`\n\nThe former was for a safe. We synthesized a set of composition events\nas its fallback. However, we stopped doing that in bug 1712269 for the\ncompatibility with Chromium and consistency with Firefox for macOS.\nHowever, on Linux, this case is used more frequently and the fallback\npath causes only `beforeinput` and `input` so that web apps may fail\nto handle that like Microsoft Word. Additionally, we already dispatch\nmultiple `eKeyPress` events after a `eKeyDown`. Therefore, we should\nuse the path for a grapheme cluster for the safe in these days.\n\nThe latter was for the safe. However, IIRC, some keyboard layouts\nimplemented with IME does not modify the keyboard layout but overrides\nwith the commit event without composing state. So, I think we don't need\nthis restriction now.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D314538",
      "email": "masayuki@d-toybox.com",
      "hash": "b822beffd1947a6da6fca5fb58634402111fdb3c",
      "subject": "Bug 2051354 - part 4: Relax to dispatch `eKeyPress` events for typing a grapheme cluster r=m_kato"
    },
    "D314539": {
      "author": "Masayuki Nakano",
      "avatar": "https://www.gravatar.com/avatar/900caab146bc7a489b3854cf10acf93f?d=identicon\u0026s=64",
      "cl": "D314539",
      "clUrl": "https://phabricator.services.mozilla.com/D314539",
      "description": "We changed not to dispatch a set of composition events to commit a\ncharacter in bug 1712269 for the consistency with macOS and Chrome.\nHowever, the new behavior causes only `beforeinput` and `input`\nevents without any user input event except `Process` key value\nkeyboard events. That makes Microsoft Word fail to manage a text\ninput transaction for their undo manager.\n\nAdditionally, on Linux, this behavior is typically used by normal\ntyping of non-ASCII characters by ibus. Therefore, we should use\n`eKeyPress` more on Linux. Now, we do that if we receive a commit signal\nwithout composing state if and only if we're calling\n`gtk_im_context_filter_keypress()`. This is enough for Ubuntu and\nDebian users.\n\nHowever, surprisingly, ibus behaves differently in some environments\nwhen typing a character without composing state.\n\nBasically, it works as on Ubuntu and Debian:\n1. Filter the first `GDK_KEY_PRESS`\n2. Synthesize the same event as the filtered one\n3. While a call of `gtk_im_context_filter_keypress()`, send composition signals\n\nHowever, on Linux Mint:\n1. Filter the first `GDK_KEY_PRESS`\n2. Send composition signals\n\nSo, the copy of the first event is not sent as expected. Therefore, we\nneed to pick the `GDK_KEY_PRESS` event up from the copies of the first\nevents which were filtered by IME.\n\n(Even on Linux Mint, `GDK_KEY_RELEASE` events are handled with\nsynthesizing a copy of the first `GDK_KEY_RELEASE`.)\n\nHowever, in this case, we don't dispatch `eKeyPress` events because\nwe are not calling `gtk_im_context_filter_keypress()`. So, no fallback\n`eKeyPress` event dispatcher is not there.\n\nTo solve this issue, this patch makes `GDKEventKeyQueue` manages the\nfiltered event state with 3 states.\n1. Whether the synthesized event is received\n2. Whether a composition signal is received\n3. Whether the synthesized event is processed completely\n\nThen, `OnKeyEvent` considers whether the received event is unexpected\nsynthesized event which does not have `IBUS_IGNORED_MASK` flag with\nchecking whether it's not handled nor processed.\n\nEach composition signal mark the handling event or the oldest\nnon-processed `GDK_KEY_PRESS` event in the queue as handled.\n\n`OnKeyEvent` removes handled events from the queue if its synthesized\nevent hasn't been received but it's already been handled by a signal\nhandler.\n\nFinally, we should dispatch `eKeyPress` event if we receive a commit\nsignal without composing state even when it's not called during a call\nof `gtk_im_context_filter_keypress()`.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D314539",
      "email": "masayuki@d-toybox.com",
      "hash": "8a8edef49eebe25797d0064b482d3d2efab039ab",
      "subject": "Bug 2051354 - part 5: Support asynchronous IME handling of ibus better r=m_kato"
    },
    "D314541": {
      "author": "Beth Rennie",
      "avatar": "https://www.gravatar.com/avatar/8dbfb17ff64ab8886097a36541232064?d=identicon\u0026s=64",
      "cl": "D314541",
      "clUrl": "https://phabricator.services.mozilla.com/D314541",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D314541",
      "email": "beth@brennie.ca",
      "hash": "5ef05eb9716268dbe97cef9b92164a13851edd23",
      "subject": "Bug 2056322 - Remove selectableProfiles Nimbus feature r=jhirsch"
    },
    "D314550": {
      "author": "Makoto Kato",
      "avatar": "https://www.gravatar.com/avatar/1875645d5594d36bca29657d51d24ed6?d=identicon\u0026s=64",
      "cl": "D314550",
      "clUrl": "https://phabricator.services.mozilla.com/D314550",
      "description": "Currently, we are using pointer for text and break position state, but it is more safe to use Span.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D314550",
      "email": "m_kato@ga2.so-net.ne.jp",
      "hash": "c7ebb59cdcefd4a121691bc2cf57187cd4f26053",
      "subject": "Bug 2058356 - Use mozilla::Span for LineBreaker. r=TYLin"
    },
    "D314552": {
      "author": "Timothy Nikkel",
      "avatar": "https://www.gravatar.com/avatar/0646a42110a02dd585f200f270716852?d=identicon\u0026s=64",
      "cl": "D314552",
      "clUrl": "https://phabricator.services.mozilla.com/D314552",
      "description": "jxl-rs 0.5 removes this package and thus it is removed from our tree. We need to remove it from license.html otherwise tests will go orange.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D314552",
      "email": "tnikkel@gmail.com",
      "hash": "5317376b755b935ab3fe853e131e24befebb2a88",
      "subject": "Bug 2058355. Remove proc-macro-error from license.html. r=sylvestre"
    },
    "D314584": {
      "author": "Masayuki Nakano",
      "avatar": "https://www.gravatar.com/avatar/900caab146bc7a489b3854cf10acf93f?d=identicon\u0026s=64",
      "cl": "D314584",
      "clUrl": "https://phabricator.services.mozilla.com/D314584",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D314584",
      "email": "masayuki@d-toybox.com",
      "hash": "a4dc471431af1d243063629af2854da0c590eeef",
      "subject": "Bug 2054161 - Make `FontFaceSet` create `Promise` only when `GetReady` is called r=smaug,emilio,firefox-style-system-reviewers"
    },
    "D314594": {
      "author": "Delia Pop",
      "avatar": "https://www.gravatar.com/avatar/9bc6f69101aaf2750dbd3cfc9d6b37d8?d=identicon\u0026s=64",
      "cl": "D314594",
      "clUrl": "https://phabricator.services.mozilla.com/D314594",
      "description": "Converted the verifyTheOpenInAppSubMenuOptionIsEnabledTest UI test to the efficiency framework.\n\nThe new UI test successfully passed 50x on Firebase.   [[ https://treeherder.mozilla.org/jobs?repo=try\u0026landoInstance=lando-prod-2025\u0026landoCommitID=72305  | Try ]]\nAll efficiency UI tests successfully passed 1x on Firebase. [[ https://treeherder.mozilla.org/jobs?repo=try\u0026revision=61478e4611122196ae2372a874c4eb125157aa47 | Try ]]\n\nDifferential Revision: https://phabricator.services.mozilla.com/D314594",
      "email": "dpop@mozilla.com",
      "hash": "40002876476f853ff489991fe305f98a049c2ea2",
      "subject": "Bug 2058136 - Migrate verifyTheOpenInAppSubMenuOptionIsEnabledTest UI test to the efficiency framework r=aaronmt"
    },
    "D314700": {
      "author": "Nicolas Silva",
      "avatar": "https://www.gravatar.com/avatar/a375423648d373880fdd9e4eccc6b920?d=identicon\u0026s=64",
      "cl": "D314700",
      "clUrl": "https://phabricator.services.mozilla.com/D314700",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D314700",
      "email": "nsilva@mozilla.com",
      "hash": "d35afdb47a20ec8c959bab439ea60dc393203038",
      "subject": "Bug 2057970 - Avoid large render tasks for non-dashed/dotted borders. r=gfx-reviewers,gw"
    },
    "D314720": {
      "author": "Jonathan Sudiaman",
      "avatar": "https://www.gravatar.com/avatar/3ca705cbbd73ca8d2880c319b1d053a0?d=identicon\u0026s=64",
      "cl": "D314720",
      "clUrl": "https://phabricator.services.mozilla.com/D314720",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D314720",
      "email": "jsudiaman@mozilla.com",
      "hash": "d0be2f3d44d694e68c76698b36a3ad3ce8c21f77",
      "subject": "Bug 2057087 - Fix blank strip in DOM fullscreen video for Nova + Vertical Tabs + Expand on Hover. r=sclements"
    },
    "D314728": {
      "author": "DrSeed Lu",
      "avatar": "https://www.gravatar.com/avatar/1e9049af48a402e6ff0ad0b732d38a05?d=identicon\u0026s=64",
      "cl": "D314728",
      "clUrl": "https://phabricator.services.mozilla.com/D314728",
      "description": "Adds a three-dot options menu to the Open Tabs sidebar panel with a \"Sort\nby\" section (Tab order and Most recent) and a \"Connect another device\"\nlink, matching the History panel's options menu.\n\nThe sort choice is applied by passing the recency flag to\ngetTabsForWindow, and persisted across visits via the new\nsidebar.openTabsPanel.sortOption pref. Sorting by date and site, and the\ndevice-dependent \"Show tabs\" options, are left for follow-up bugs\n(2039604 and the synced-tabs work).\n\nDifferential Revision: https://phabricator.services.mozilla.com/D314728",
      "email": "dr.seed.lu@gmail.com",
      "hash": "8d2eb5da8d33f5fe3c47b98894a525c42892c4ec",
      "subject": "Bug 2039596 - Add a sort menu to the sidebar open tabs panel r=nsharpley,kcochrane,fluent-reviewers,desktop-theme-reviewers,bolsson"
    },
    "D314744": {
      "author": "Duncan McIntosh",
      "avatar": "https://www.gravatar.com/avatar/8d2a45b83e51be8dece9ba489225014e?d=identicon\u0026s=64",
      "cl": "D314744",
      "clUrl": "https://phabricator.services.mozilla.com/D314744",
      "description": "The non-MSIX case only worked because under xpcshell\n`Services.appinfo.name` is undefined, and it'd be unusual to have anything\nunder HKLM\\Software\\Mozilla\\undefined\\TaskBarIDs (or HKCU).\n\nFor both, avoid running the actual code and replace with mocks that return\nempty arrays/sets. In theory we could now check that the fields are\npopulated correctly, but (a) that'd be more refactoring of the test (maybe\ninvolving removing the legacy mirroring), and (b) it's out of scope for\nthis bug.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D314744",
      "email": "dmcintosh@mozilla.com",
      "hash": "5196821075557b6252fcfd23dee447d87cf2e47a",
      "subject": "Bug 2058588 - Mock out installation discovery in test_new_profile.js. r=janerik"
    },
    "D314824": {
      "author": "Jim Blandy",
      "avatar": "https://www.gravatar.com/avatar/25f8ea5948e459788767ca9b08aee824?d=identicon\u0026s=64",
      "cl": "D314824",
      "clUrl": "https://phabricator.services.mozilla.com/D314824",
      "description": "In libpixman's fast path for rotations by multiples of 90 degrees,\nround translation amounts in `pixman_fixed_48_16_t`, not\n`pixman_fixed_16_16_t`, as the matrix values are provided by the user,\nso rounding could overflow a 32-bit type. Since the results always\nrepresent values \u003c 65537, `pixman_fixed_to_int` can always safely\nconvert them back to 32-bit ints.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D314824",
      "email": "jimb@red-bean.com",
      "hash": "594a616652da6f0fd80b5e3c9bd2624118b71554",
      "subject": "Bug 2045777: In pixman fast rotate path, round in 64 bits. r=gfx-reviewers,lsalzman"
    },
    "D314844": {
      "author": "Daisuke Akatsuka",
      "avatar": "https://www.gravatar.com/avatar/a65a0876b78fe449d63939aa44c86afc?d=identicon\u0026s=64",
      "cl": "D314844",
      "clUrl": "https://phabricator.services.mozilla.com/D314844",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D314844",
      "email": "daisuke@birchill.co.jp",
      "hash": "65fd6cd3dc7133f21aa8b8ca63258a236d3a7f9e",
      "subject": "Bug 2053970 - Move the pointer off the rows before testing result explanations r=urlbar-reviewers,adw"
    },
    "D314863": {
      "author": "Timothy Nikkel",
      "avatar": "https://www.gravatar.com/avatar/0646a42110a02dd585f200f270716852?d=identicon\u0026s=64",
      "cl": "D314863",
      "clUrl": "https://phabricator.services.mozilla.com/D314863",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D314863",
      "email": "tnikkel@gmail.com",
      "hash": "946e93bd092e4c4c48107e7d80becb2b705862b6",
      "subject": "Bug 2058355. Upgrade jxl-rs to 0.5.1. r=saschanaz,supply-chain-reviewers"
    },
    "D314873": {
      "author": "Nicolas Chevobbe",
      "avatar": "https://www.gravatar.com/avatar/f942478f2eaeb6cc42142cdd661976a7?d=identicon\u0026s=64",
      "cl": "D314873",
      "clUrl": "https://phabricator.services.mozilla.com/D314873",
      "description": "The test was fixed in Bug 2038693.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D314873",
      "email": "nchevobbe@mozilla.com",
      "hash": "73eb1071289f31ab4872f603de9f0df05e7bcb80",
      "subject": "Bug 2058111 - [devtools] Don't skip browser_toolbox_hosts_size.js on Nova. r=devtools-reviewers,bomsy."
    },
    "D314874": {
      "author": "Dão Gottwald",
      "avatar": "https://www.gravatar.com/avatar/45dfe136efbb8e5f89eb0b21775ab195?d=identicon\u0026s=64",
      "cl": "D314874",
      "clUrl": "https://phabricator.services.mozilla.com/D314874",
      "description": "An engagement while a bounce is already tracked triggers that bounce first, and\nthe child collector awaited it before reading the session and the live\ninput/view its own snapshot needs. By then the engagement record that follows\nthe tracking call has ended the session, so the new bounce was built from no\nsession and dropped: on the message path, re-engaging the address bar in a tab\nstopped bounces from being recorded for every search after the first. The\nparent-side recorder already reads its session up front, so the direct path is\nunaffected.\n\nWorth checking: the moved reads (session, engagement data, smartbar data) are\nall live input/view state that must be read at pick time, and nothing between\nthem and their uses depends on the trigger having run.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D314874",
      "email": "dao@mozilla.com",
      "hash": "c1243b5a590be259c737d2dabd2fa961185ab654",
      "subject": "Bug 2021346 - Resolve a bounce snapshot before awaiting a pre-empted bounce's trigger. r=urlbar-reviewers,mak"
    },
    "D314875": {
      "author": "Dão Gottwald",
      "avatar": "https://www.gravatar.com/avatar/45dfe136efbb8e5f89eb0b21775ab195?d=identicon\u0026s=64",
      "cl": "D314875",
      "clUrl": "https://phabricator.services.mozilla.com/D314875",
      "description": "One file per event, built on head-sap.js like the engagement and abandonment sap\ntests, which gains an option for the search string so a test can search for a\nSuggest keyword.\n\nBoth events are recorded after the search they report on has ended, so their sap\nis resolved from whatever page shows at that later moment. The flows are shaped\nto keep the expected value unambiguous -- bounces trigger by navigating back to\nthe page the search started from, and the disable cases either abandon the\nsearch or start it on a regular page -- which is what the comments in the two\nfiles explain.\n\nWorth checking are the cases that assert no event: the disable event can only\ncarry a sap where a Suggest result can be visible, which rules out the searchbar\n(no Suggest provider) and a handoff session (engine search mode). Relatedly, a\nbounce from a handoff session needs a picked result, since Enter in search mode\nloads the engine's search URL without picking one.\n\nTelemetryEvent.reset(), which the tests call between tasks, now also drops a\npending disable candidate, so a candidate an earlier task left behind can't\nrecord into a later task's assertions.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D314875",
      "email": "dao@mozilla.com",
      "hash": "897f2096901824e50cb757da4c7f02ceba8db114",
      "subject": "Bug 2021346 - Test the sap key of the urlbar bounce and disable events. r=urlbar-reviewers,mak"
    },
    "D314908": {
      "author": "Nicolas Silva",
      "avatar": "https://www.gravatar.com/avatar/a375423648d373880fdd9e4eccc6b920?d=identicon\u0026s=64",
      "cl": "D314908",
      "clUrl": "https://phabricator.services.mozilla.com/D314908",
      "description": "optimize_radial_gradient shrinks a gradient's primitive rect to the bounding box\nof the interesting part of the ellipse and pushes the removed margins into\ntile_spacing. simplify_repeated_primitive then collapses that back into a single\ntile, but the tile size is stored as a ratio of the primitive rect while\ntile_spacing stays absolute, and the ratio is computed against the unsnapped rect\nand resolved against the snapped one at prepare time. The round-trip is therefore\nnot exact and could yield a stretch size a fraction of a pixel smaller than the\nprimitive rect, making prepare_repeatable_quad believe the primitive repeats.\n\nTwo fixes:\n\n - compute_stretch_ratio now reports exactly 1.0 on an axis where the tile\n   fuzzily covers the whole primitive rect, so a non-repeating primitive can't\n   be resurrected as a repeating one with a sub-pixel stride.\n\n - The CPU repetition loop now clips each tile to the primitive rect as well as\n   to the local clip rect. The last tile of a row or column always overhangs the\n   primitive rect and used to rely on the local clip rect bounding it, which is\n   not an invariant optimize_radial_gradient preserves. Without this the spurious\n   repetition rendered a complete, unclipped duplicate of the gradient.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D314908",
      "email": "nsilva@mozilla.com",
      "hash": "bbe53c66dcee25735642f71b118b8977da5eb4e9",
      "subject": "Bug 2057205 - Don't repeat a non-repeating gradient because of rounding. r=gw"
    },
    "D314913": {
      "author": "Jan de Mooij",
      "avatar": "https://www.gravatar.com/avatar/709c5feed942bf99f098bb24aa1cc86f?d=identicon\u0026s=64",
      "cl": "D314913",
      "clUrl": "https://phabricator.services.mozilla.com/D314913",
      "description": "This flag isn't actually needed. It was checked in `popInlineFrame` but\ngenerator/async frames are never constructing. We remove the flag here so later\npatches can add a new resuming-generator flag with a different meaning.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D314913",
      "email": "jdemooij@mozilla.com",
      "hash": "bc0fba47a276d6cbaaadc68a94b2fae905d7823d",
      "subject": "Bug 2058411 part 1 - Remove InterpreterFrame RESUMED_GENERATOR flag. r=iain"
    },
    "D314914": {
      "author": "Jan de Mooij",
      "avatar": "https://www.gravatar.com/avatar/709c5feed942bf99f098bb24aa1cc86f?d=identicon\u0026s=64",
      "cl": "D314914",
      "clUrl": "https://phabricator.services.mozilla.com/D314914",
      "description": "Also renames `resumeGeneratorCallFrame` to `pushInlineGeneratorResumeFrame`, to be\nmore consistent with `pushInlineFrame` for regular calls.\n\nCurrently all generators and async functions go through `JSOp::Resume` and in the\nC++ interpreter this always pushes an inline (non-entry) frame, but later patches\nwill change this so that the activation's entry frame can also be a resumed\ngenerator or async function.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D314914",
      "email": "jdemooij@mozilla.com",
      "hash": "6b4c79440fb2c47db0aebb6d3820e008eca04f5a",
      "subject": "Bug 2058411 part 2 - Factor out InterpreterStack::createGeneratorResumeFrame. r=iain"
    },
    "D314915": {
      "author": "Jan de Mooij",
      "avatar": "https://www.gravatar.com/avatar/709c5feed942bf99f098bb24aa1cc86f?d=identicon\u0026s=64",
      "cl": "D314915",
      "clUrl": "https://phabricator.services.mozilla.com/D314915",
      "description": "Move the inline-interpreter-frame pushing out of `AbstractGeneratorObject::resume`\nso that we can later call `resume` for entry frames too.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D314915",
      "email": "jdemooij@mozilla.com",
      "hash": "c9474b229d28338ea5628498b8dc275f9d21162c",
      "subject": "Bug 2058411 part 3 - Refactor AbstractGeneratorObject::resume so that it can be used for entry frames. r=iain"
    },
    "D314916": {
      "author": "Jan de Mooij",
      "avatar": "https://www.gravatar.com/avatar/709c5feed942bf99f098bb24aa1cc86f?d=identicon\u0026s=64",
      "cl": "D314916",
      "clUrl": "https://phabricator.services.mozilla.com/D314916",
      "description": "This adds a third `RunState` type that will be used for resuming a generator or\nasync script. This will make it possible to resume without going through\n`JSOp::Resume` in later patches.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D314916",
      "email": "jdemooij@mozilla.com",
      "hash": "22fc76a27c3efc6335e77ed8d561a00c1ffd0a06",
      "subject": "Bug 2058411 part 4 - Add GeneratorResumeState for resuming a generator or async function/module. r=iain"
    },
    "D314917": {
      "author": "Jan de Mooij",
      "avatar": "https://www.gravatar.com/avatar/709c5feed942bf99f098bb24aa1cc86f?d=identicon\u0026s=64",
      "cl": "D314917",
      "clUrl": "https://phabricator.services.mozilla.com/D314917",
      "description": "JIT support for `GeneratorResumeState` comes in a later patch. This patch adds\na check to `MaybeEnterJit` to force using the C++ interpreter for now.\n\n`AsyncFunctionResume` and `AsyncGeneratorResume` now call `js::ResumeGenerator`\ndirectly instead of going through self-hosted wrapper functions.\n\n`IsTopMostAsyncFunctionCall` (used by `JSOp::CanSkipAwait`) used to check for\nthese self-hosted wrapper functions. This is replaced with a flag on the activation\nto indicate the activation's entry frame is a resumed generator or async function.\nThis works because async functions and generators are always resumed from C++.\nLater patches will build on this to remove the expensive frame iteration completely.\n\n`JSOp::Resume` is now used only for plain/sync generator functions. The op is still\nrequired there because these generators are resumed from JS via `GeneratorNext`.\n\nThe `bug1644699-terminated-generator.js` test is removed because it depended on the\nremoved self-hosted resume code. We can't change this test to use sync generators\ninstead because these aren't closed by a terminated resume.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D314917",
      "email": "jdemooij@mozilla.com",
      "hash": "6abf808ba09baf8de3e4d721fba37acddef4a35d",
      "subject": "Bug 2058411 part 5 - Resume async functions/generators via GeneratorResumeState. r=iain"
    },
    "D314918": {
      "author": "Jan de Mooij",
      "avatar": "https://www.gravatar.com/avatar/709c5feed942bf99f098bb24aa1cc86f?d=identicon\u0026s=64",
      "cl": "D314918",
      "clUrl": "https://phabricator.services.mozilla.com/D314918",
      "description": "With `GeneratorResumeState`, the cold generator-resume fallback no longer needs a\nself-hosted function forced into the C++ interpreter.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D314918",
      "email": "jdemooij@mozilla.com",
      "hash": "7caf7be2710c59368a81d0e11fd80302e086a4d8",
      "subject": "Bug 2058411 part 6 - Remove InterpretGeneratorResume and JSOp::ForceInterpreter. r=iain,frontend-codestyle-reviewers"
    },
    "D314919": {
      "author": "Jan de Mooij",
      "avatar": "https://www.gravatar.com/avatar/709c5feed942bf99f098bb24aa1cc86f?d=identicon\u0026s=64",
      "cl": "D314919",
      "clUrl": "https://phabricator.services.mozilla.com/D314919",
      "description": "An async module's top-level-await generator previously stored a synthetic\nhandler function (wrapping the module script) in the generator's callee slot\nso that the generator machinery could be reused. It's now possible and cleaner\nto remove this function and store the module object directly.\n\n`CALLEE_SLOT` is renamed to `CALLEE_OR_MODULE_SLOT` and the accessors updated.\nMost uses of `callee()` now call `script()` instead.\n\n`GeneratorResumeState::pushInterpreterFrame` now resumes a module generator as an\nexecute/module frame.\n\nBecause `JSOp::Resume` is now only used for plain generators, the interpreter and\nJIT implementations can still assume the resumee is a function.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D314919",
      "email": "jdemooij@mozilla.com",
      "hash": "eb88cab8567526a1e010bb2b03fdfd4a0aac04c3",
      "subject": "Bug 2058411 part 7 - Remove the module handler function; store the module in the generator. r=iain"
    },
    "D314920": {
      "author": "Jan de Mooij",
      "avatar": "https://www.gravatar.com/avatar/709c5feed942bf99f098bb24aa1cc86f?d=identicon\u0026s=64",
      "cl": "D314920",
      "clUrl": "https://phabricator.services.mozilla.com/D314920",
      "description": "The C++ interpreter called `onResumeFrame` as part of the prologue. In the JITs\nthis happened as part of `JSOp::AfterYield`.\n\nThe JIT also had some code in `HandleDebugTrap` for when breakpoint/stepping reaches\n`AfterYield` (before the `onResumeFrame` call). In this case we called `DebugAfterYield`\nearly.\n\nThis patch makes our behavior more consistent. `JSOp::AfterYield` clears the\nis-resuming-generator flag, and before that point, debugger traps are suppressed\nfor the frame. This also helps us later when we can execute other bytecode\nops while this flag is set. `onResumeFrame` is now always called from\n`JSOp::AfterYield`. In `onResumeFrame` we then handle `onEnterFrame` and\nbreakpoints/stepping for the `AfterYield` op itself.\n\nIn `HandleDebugTrap` we still check for the `AfterYield` op instead of the frame's\n`isResumingGenerator` flag because the JITs don't have the flag yet at this point.\nA later patch changes this to match the interpreter.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D314920",
      "email": "jdemooij@mozilla.com",
      "hash": "60f355addf08dbdb6520ec2dc1ec57ad43ba1738",
      "subject": "Bug 2058411 part 8 - Make the Debugger's onResumeFrame/AfterYield code more consistent. r=iain"
    },
    "D314921": {
      "author": "Jan de Mooij",
      "avatar": "https://www.gravatar.com/avatar/709c5feed942bf99f098bb24aa1cc86f?d=identicon\u0026s=64",
      "cl": "D314921",
      "clUrl": "https://phabricator.services.mozilla.com/D314921",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D314921",
      "email": "jdemooij@mozilla.com",
      "hash": "e9ffed1ce057e020d6c80e27bf378157962b6f28",
      "subject": "Bug 2058411 part 9 - Add a MacroAssembler::andPtr overload that takes an Address. r=iain"
    },
    "D314922": {
      "author": "Jan de Mooij",
      "avatar": "https://www.gravatar.com/avatar/709c5feed942bf99f098bb24aa1cc86f?d=identicon\u0026s=64",
      "cl": "D314922",
      "clUrl": "https://phabricator.services.mozilla.com/D314922",
      "description": "Instead of building the resumed generator/async frame in the resumer\n(`emit_Resume`) and jumping straight to the resume point, `JSOp::Resume` now calls\nthe callee's Baseline entry like an ordinary call, and the callee's prologue\nrestores the suspended state and dispatches to the resume point.\n\nLater patches will build on this to support `GeneratorResumeState` (for C++ =\u003e JIT\nresume calls). This also enables resuming directly into Warp in the future.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D314922",
      "email": "jdemooij@mozilla.com",
      "hash": "8ca07121ad8d69d029ddd840cc229d265d329086",
      "subject": "Bug 2058411 part 10 - Make Baseline JSOp::Resume callee-driven (resume via the prologue). r=iain"
    },
    "D314923": {
      "author": "Jan de Mooij",
      "avatar": "https://www.gravatar.com/avatar/709c5feed942bf99f098bb24aa1cc86f?d=identicon\u0026s=64",
      "cl": "D314923",
      "clUrl": "https://phabricator.services.mozilla.com/D314923",
      "description": "This lets us simplify `JSOp::Resume` more in Baseline because it no longer needs\na special code path for a generator without a `JitScript`.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D314923",
      "email": "jdemooij@mozilla.com",
      "hash": "2077dd65ad97d1f3665f6d8bb025f3b0cc3d9ee8",
      "subject": "Bug 2058411 part 11 - Support using the interpreter stub for resuming a generator. r=iain"
    },
    "D314924": {
      "author": "Jan de Mooij",
      "avatar": "https://www.gravatar.com/avatar/709c5feed942bf99f098bb24aa1cc86f?d=identicon\u0026s=64",
      "cl": "D314924",
      "clUrl": "https://phabricator.services.mozilla.com/D314924",
      "description": "This adds a version of the `EnterJit` trampoline for resuming a generator\nor async function (or module script with top-level await). This is the `EnterJit`\nequivalent of the rewritten `emit_Resume` code in an earlier patch.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D314924",
      "email": "jdemooij@mozilla.com",
      "hash": "bf8b8c9fe7fcd108d951984b2a0b3308fcfad62f",
      "subject": "Bug 2058411 part 12 - Resume suspended generator/async functions into Baseline from C++. r=iain"
    },
    "D314925": {
      "author": "Jan de Mooij",
      "avatar": "https://www.gravatar.com/avatar/709c5feed942bf99f098bb24aa1cc86f?d=identicon\u0026s=64",
      "cl": "D314925",
      "clUrl": "https://phabricator.services.mozilla.com/D314925",
      "description": "When the interpreter entry trampoline is enabled, it has to copy the\n`ResumeFrameArgs` and propagate the `IsResumingGenerator` descriptor flag.\n\nA `BaselineInterpreterEntry` frame can now be called directly by a Baseline frame,\nwithout a stub frame, so `ComputeBaselineFrameSize` has to account for that too.\n\nAlso adds some jit-tests that failed without this change.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D314925",
      "email": "jdemooij@mozilla.com",
      "hash": "0701743cfa6038449c2b98a5ea5727cf3af8fe31",
      "subject": "Bug 2058411 part 13 - Support resuming a generator in the interpreter entry trampoline. r=iain"
    },
    "D314927": {
      "author": "Jan de Mooij",
      "avatar": "https://www.gravatar.com/avatar/709c5feed942bf99f098bb24aa1cc86f?d=identicon\u0026s=64",
      "cl": "D314927",
      "clUrl": "https://phabricator.services.mozilla.com/D314927",
      "description": "If the generator has a `JitScript`, we can resume in JIT code now.  This is similar\nto what we do for calls.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D314927",
      "email": "jdemooij@mozilla.com",
      "hash": "31fa3ed8bebfee2d86936e2e68dc2d668bd20c5b",
      "subject": "Bug 2058411 part 14 - Resume in JIT code for JSOp::Resume in the C++ interpreter. r=iain"
    },
    "D314928": {
      "author": "Jan de Mooij",
      "avatar": "https://www.gravatar.com/avatar/709c5feed942bf99f098bb24aa1cc86f?d=identicon\u0026s=64",
      "cl": "D314928",
      "clUrl": "https://phabricator.services.mozilla.com/D314928",
      "description": "For modules with top-level-await, the fast path was never used because\n`IsTopMostAsyncFunctionCall` returned `false` in this case.\n\nNot emitting this check makes it easier to optimize `JSOp::CanSkipAwait` in\nthe next patch.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D314928",
      "email": "jdemooij@mozilla.com",
      "hash": "b95ceefcd8f9d019f7980aba31a477bc91d40d31",
      "subject": "Bug 2058411 part 15 - Don't emit the CanSkipAwait optimization for module scripts. r=iain"
    },
    "D314929": {
      "author": "Jan de Mooij",
      "avatar": "https://www.gravatar.com/avatar/709c5feed942bf99f098bb24aa1cc86f?d=identicon\u0026s=64",
      "cl": "D314929",
      "clUrl": "https://phabricator.services.mozilla.com/D314929",
      "description": "Frame iteration is expensive, especially for Ion frames when we can resume async\nfunctions directly in Ion.\n\nEach tier now only reaches `js::CanSkipAwait` when the current frame is the first\nframe of its activation. This is cheap to check in JIT code (but expensive in C++).\n\n`js::CanSkipAwait` then requires the activation to have been entered to resume\na suspended async function and to be the sole activation on the `JSContext`.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D314929",
      "email": "jdemooij@mozilla.com",
      "hash": "b9a7d5ffc8183a04447cdbcbea9ed8a0e82fdc59",
      "subject": "Bug 2058411 part 16 - Avoid frame iteration for CanSkipAwait optimization. r=iain"
    },
    "D314930": {
      "author": "Jan de Mooij",
      "avatar": "https://www.gravatar.com/avatar/709c5feed942bf99f098bb24aa1cc86f?d=identicon\u0026s=64",
      "cl": "D314930",
      "clUrl": "https://phabricator.services.mozilla.com/D314930",
      "description": "This was added in bug 2033499 to avoid frame iteration for `CanSkipAwait` in some\ncases, but we no longer need this.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D314930",
      "email": "jdemooij@mozilla.com",
      "hash": "1dedbdc992283777ab8e27d301393606034e73d7",
      "subject": "Bug 2058411 part 17 - Remove JSContext::asyncResumeDepth. r=iain"
    },
    "D314931": {
      "author": "Jan de Mooij",
      "avatar": "https://www.gravatar.com/avatar/709c5feed942bf99f098bb24aa1cc86f?d=identicon\u0026s=64",
      "cl": "D314931",
      "clUrl": "https://phabricator.services.mozilla.com/D314931",
      "description": "This was easier than expected because PBL currently doesn't run generator/async\nscripts at all. See bug 1922981 part 31 (D224683).\n\nDifferential Revision: https://phabricator.services.mozilla.com/D314931",
      "email": "jdemooij@mozilla.com",
      "hash": "6faad569a82e61ecfb1259c729d357c9d5575b71",
      "subject": "Bug 2058411 part 18 - Fix PBL build. r=iain"
    },
    "D314933": {
      "author": "AndiAJ",
      "avatar": "https://www.gravatar.com/avatar/b4ea35e4d5d0c51e2affc0dc2515853c?d=identicon\u0026s=64",
      "cl": "D314933",
      "clUrl": "https://phabricator.services.mozilla.com/D314933",
      "description": "The UI test was flaky because the translation sheet failed to dismiss after clicking the ‘Translate’ button.\nThis occurred because the test attempted to interact with the sheet before it was fully expanded.\nTo fix this, I added a verification step to ensure the translation sheet elements are fully loaded and ready before clicking the button.\n\nThe UI test successfully passed 50x on Firebase ✅\n\nDifferential Revision: https://phabricator.services.mozilla.com/D314933",
      "email": "andiaj@users.noreply.github.com",
      "hash": "2f8e67ed99fbd19b2295f183263ea951bd697c03",
      "subject": "Bug 2058884 - Fix verifyTheTranslatePageSubMenuOptionTest efficiency UI test r=aaronmt"
    },
    "D314934": {
      "author": "Luca Greco",
      "avatar": "https://www.gravatar.com/avatar/cb15f57474d95eb43c5d903ae3fa34ae?d=identicon\u0026s=64",
      "cl": "D314934",
      "clUrl": "https://phabricator.services.mozilla.com/D314934",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D314934",
      "email": "lgreco@mozilla.com",
      "hash": "c6ad102664f0a58500004c1547476c7285591c2e",
      "subject": "Bug 2058902 - Fix browser_ext_themes_multiple_backgrounds.js intermittent failure in windows jobs when Nova is enabled. r=willdurand"
    },
    "D314935": {
      "author": "Nicolas Silva",
      "avatar": "https://www.gravatar.com/avatar/a375423648d373880fdd9e4eccc6b920?d=identicon\u0026s=64",
      "cl": "D314935",
      "clUrl": "https://phabricator.services.mozilla.com/D314935",
      "description": "Before the render-backend pool, stop_render_backend() sent\nSceneBuilderRequest::StopRenderBackend, which made the backend leave its main\nloop for a drain loop that discarded everything except external events, flush\nresponses and shutdown. Nothing could touch result_tx after that point.\n\nThe pool work turned stop_render_backend() into a plain scene-builder flush and\nleft the StopRenderBackend machinery orphaned. The window now stays registered\nand keeps being served until UnregisterWindow arrives, which happens much later\nin ~WebRenderAPI and since mRootApi is a RefPtr, not until every clone is\nreleased. In that gap DestroyRenderer has already dropped result_rx, so a\ntransaction that still reaches the backend panics in\nwin.result_tx.send(..).unwrap().\n\nReplace the flush with SceneBuilderRequest::StopWindow, sent on the\nlow-priority scene channel and forwarded to the backend, which marks the window\nstopped and acks. Taking that route is what makes it a barrier: it cannot\novertake work queued earlier on either scene channel, and because it comes back\nas a SceneBuilderResult the backend answers it in FIFO order with api-channel\ntraffic that skipped the scene builder entirely (UpdateDocuments, frame\nmessages).\n\nAlso add the missing mRendererDestroyed check to HandleWrTransactionEvents\n(reached from a RemoteTextureMap readiness callback that holds its own\nreference to the api), and remove the unreachable StopRenderBackend variants.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D314935",
      "email": "nsilva@mozilla.com",
      "hash": "7f4e5f508d528765c3562b4577cbbccea3ff6b5e",
      "subject": "Bug 2058350 - Stop serving a window's documents once its Renderer is gone. r=gfx-reviewers,gw"
    },
    "D314936": {
      "author": "Nicolas Silva",
      "avatar": "https://www.gravatar.com/avatar/a375423648d373880fdd9e4eccc6b920?d=identicon\u0026s=64",
      "cl": "D314936",
      "clUrl": "https://phabricator.services.mozilla.com/D314936",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D314936",
      "email": "nsilva@mozilla.com",
      "hash": "d2acb3e18b1f88edc86ecf36833649fa93d2c955",
      "subject": "Bug 2058350 - Add render backend tests for window teardown. r=gfx-reviewers,gw"
    },
    "D314950": {
      "author": "Jan-Niklas Jaeschke",
      "avatar": "https://www.gravatar.com/avatar/f8a4d2d2b8f9eec6bcb98f2ae8169d69?d=identicon\u0026s=64",
      "cl": "D314950",
      "clUrl": "https://phabricator.services.mozilla.com/D314950",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D314950",
      "email": "jjaschke@mozilla.com",
      "hash": "fe767d7ea7a6cfdc705fa7b780686a88b49df85a",
      "subject": "Bug 2058666 - Clear mDocumentChildren after XSLT branch consumes it in DidBuildModel. r=smaug"
    },
    "D314962": {
      "author": "Nicolas Silva",
      "avatar": "https://www.gravatar.com/avatar/a375423648d373880fdd9e4eccc6b920?d=identicon\u0026s=64",
      "cl": "D314962",
      "clUrl": "https://phabricator.services.mozilla.com/D314962",
      "description": "The wrench tasks on Android hardware are hidden from the default try task\nset (android-hw is in UNCOMMON_TRY_TASK_LABELS), so both presets disable the\ntarget task filter. For the webrender preset the extra labels this exposes\n(ccov, mingwclang, wpt backlog and android-hw reftests) are filtered out so\nthat the only addition is webrender-android-hw-p6-opt.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D314962",
      "email": "nsilva@mozilla.com",
      "hash": "3fee579bb9a8e09d27705056523832934b1c65b2",
      "subject": "Bug 2058934 - Run wrench on the Pixel 6 in the webrender presets. r=wsmind"
    },
    "D314965": {
      "author": "Mugurell",
      "avatar": "https://www.gravatar.com/avatar/3ad7e9b38bc893c28662af783f35cf2b?d=identicon\u0026s=64",
      "cl": "D314965",
      "clUrl": "https://phabricator.services.mozilla.com/D314965",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D314965",
      "email": "Mugurell@users.noreply.github.com",
      "hash": "ca365ae8fe2c7e6e747012486ce67b69a3cf6a7e",
      "subject": "Bug 1964366 - Don't show the paste option in the addressbar if there's nothing to paste r=android-reviewers,skhan"
    },
    "D315018": {
      "author": "Jamie Nicol",
      "avatar": "https://www.gravatar.com/avatar/8dd660b6c636b9880700591432e5eb21?d=identicon\u0026s=64",
      "cl": "D315018",
      "clUrl": "https://phabricator.services.mozilla.com/D315018",
      "description": "As amusing as the old name was, better to fix it while we're touching\nrelated code.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D315018",
      "email": "jnicol@mozilla.com",
      "hash": "0313f3732076193cdfd5ad71529f9c8a49a92031",
      "subject": "Bug 2058990 - Fix typo in GpuFences. r=gfx-reviewers,lsalzman"
    },
    "D315019": {
      "author": "Jamie Nicol",
      "avatar": "https://www.gravatar.com/avatar/8dd660b6c636b9880700591432e5eb21?d=identicon\u0026s=64",
      "cl": "D315019",
      "clUrl": "https://phabricator.services.mozilla.com/D315019",
      "description": "This will allow subsequent patches to use it for MTLSharedEvents that\ndo not originate from wgpu.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D315019",
      "email": "jnicol@mozilla.com",
      "hash": "623a32e98ad63309ecac8c6eba74859dc2f39794",
      "subject": "Bug 2058990 - Make GpuFenceMTLSharedEvent call Metal APIs directly rather than via wgpu. r=gfx-reviewers,webgpu-reviewers,aleiserson,lsalzman"
    },
    "D315020": {
      "author": "Jamie Nicol",
      "avatar": "https://www.gravatar.com/avatar/8dd660b6c636b9880700591432e5eb21?d=identicon\u0026s=64",
      "cl": "D315020",
      "clUrl": "https://phabricator.services.mozilla.com/D315020",
      "description": "And switch callsites where we call HasCompleted() in a loop to use it\ninstead.\n\nFor GpuFenceMTLSharedEvent, on macOS 12 onwards we can call\nMTLSharedEvent.waitUntilSignaledValue(). On previous macOS versions we\nmust continue to check HasCompleted() in a loop, but at least contain\nthis logic to a single place.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D315020",
      "email": "jnicol@mozilla.com",
      "hash": "e503be08c6237b49e62f11098886d1123820814a",
      "subject": "Bug 2058990 - Add GpuFence::ClientWait helper method. r=gfx-reviewers,lsalzman"
    },
    "D315021": {
      "author": "Jamie Nicol",
      "avatar": "https://www.gravatar.com/avatar/8dd660b6c636b9880700591432e5eb21?d=identicon\u0026s=64",
      "cl": "D315021",
      "clUrl": "https://phabricator.services.mozilla.com/D315021",
      "description": "When rendering using CGL,\nSharedSurface_IOSurface::ProducerReleaseImpl() calls glFlush(), which\nensures the rendering is synchronized with the next webrender\nrender. On Metal ANGLE, however, this is not sufficient.\n\nInstead, we must create a MTLSharedEvent using the\nEGL_ANGLE_metal_shared_event_sync extension, and plumb it via a\nGpuFenceMTLSharedEvent through to the RenderTextureHost. At this\npoint, the existing mechanism used for WebGPU will ensure it is\nsynchronized correctly with presentation, namely\nRenderMacIOSurfaceTextureHost::Lock() which waits for the shared event\nto be signalled.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D315021",
      "email": "jnicol@mozilla.com",
      "hash": "df86674100dafba192cc98b7848afe65919763a3",
      "subject": "Bug 2058990 - Synchronise Metal ANGLE WebGL with webrender using a MTLSharedEvent. r=gfx-reviewers,lsalzman"
    },
    "D315023": {
      "author": "nirmaladvani",
      "avatar": "https://www.gravatar.com/avatar/a61e6ca34b9dfc93535b51aac017954c?d=identicon\u0026s=64",
      "cl": "D315023",
      "clUrl": "https://phabricator.services.mozilla.com/D315023",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D315023",
      "email": "nirmaladvani@live.com",
      "hash": "af10e7b7de4eaa33ef388f733decd7ed2bbf21ba",
      "subject": "Bug 2046156 - Remove executeSoon() in favor of Services.tm.dispatchToMainThread() r=jdescottes"
    },
    "D315024": {
      "author": "Daniel Minor",
      "avatar": "https://www.gravatar.com/avatar/2ac711ca4c5ab8c8545725bcd618c037?d=identicon\u0026s=64",
      "cl": "D315024",
      "clUrl": "https://phabricator.services.mozilla.com/D315024",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D315024",
      "email": "dminor@mozilla.com",
      "hash": "ea87517b3c01775ed603ad3d380d194a443b5e6e",
      "subject": "Bug 2047706 - Add pref and option for regexp buffer boundaries; r=iain"
    },
    "D315025": {
      "author": "Daniel Minor",
      "avatar": "https://www.gravatar.com/avatar/2ac711ca4c5ab8c8545725bcd618c037?d=identicon\u0026s=64",
      "cl": "D315025",
      "clUrl": "https://phabricator.services.mozilla.com/D315025",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D315025",
      "email": "dminor@mozilla.com",
      "hash": "5a82e81296d450a2a0145a42b78e7c6d45ddc858",
      "subject": "Bug 2047706 - Import buffer boundary Test262 tests; r=iain"
    },
    "D315041": {
      "author": "Ben Hearsum",
      "avatar": "https://www.gravatar.com/avatar/7bb9fa0687c2864f6d7ccf2c3b68a6a1?d=identicon\u0026s=64",
      "cl": "D315041",
      "clUrl": "https://phabricator.services.mozilla.com/D315041",
      "description": "This was added in https://bugzilla.mozilla.org/show_bug.cgi?id=2058197 as a short term fix to some start-up crashes we were seeing in 153.0 updates. This patch gets rid of that hardcoding, allowing Thunderbird to benefit from the optimized instruction order as well, and clean up the code more generally.\n\nAFAIK the only caller to `make_incremental_update.sh` is `funsize.py`, which is also being updated here so there should be no risk to changing the required arguments.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D315041",
      "email": "ben@mozilla.com",
      "hash": "9567793acfc9177efc2540e1c4ce712bc8a144ee",
      "subject": "Bug 2058759: remove firefox.exe hardcoding in make_incremental_updates.sh r=releng-reviewers,ahal"
    },
    "D315054": {
      "author": "Antonio Borondo",
      "avatar": "https://www.gravatar.com/avatar/9e13743768b6d0c3767465e00941f79e?d=identicon\u0026s=64",
      "cl": "D315054",
      "clUrl": "https://phabricator.services.mozilla.com/D315054",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D315054",
      "email": "aborondo@mozilla.com",
      "hash": "450c5efc4e8379d52dfc0cfbaed594ecb64d2652",
      "subject": "Bug 2059078 - Make ./mach ide vscodium not open VS Code r=firefox-build-system-reviewers,ahochheiden"
    },
    "D315056": {
      "author": "Updatebot",
      "avatar": "https://www.gravatar.com/avatar/cd270ac15e761e2d4c08e9c9b7cfecca?d=identicon\u0026s=64",
      "cl": "D315056",
      "clUrl": "https://phabricator.services.mozilla.com/D315056",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D315056",
      "email": "updatebot@mozilla.com",
      "hash": "de99b689e6164d8df6ba555d6c3d5973af66da58",
      "subject": "Bug 2059097 - Update PDF.js to 61acf93172acab60498f23186ae1780c4752aa4b r=pdfjs-reviewers,calixte"
    },
    "D315070": {
      "author": "Sameem-baba",
      "avatar": "https://www.gravatar.com/avatar/bcf8aee12b0c121280b7c84a22973ce9?d=identicon\u0026s=64",
      "cl": "D315070",
      "clUrl": "https://phabricator.services.mozilla.com/D315070",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D315070",
      "email": "ssssameembaba@gmail.com",
      "hash": "83f766378cc6d9a762991e4ecad1fb69d7cffbe5",
      "subject": "Bug 1988723 - Remove support for 'contexts' argument in 'session.unsubscribe'. r=Sasha"
    },
    "D315078": {
      "author": "Alastor Wu",
      "avatar": "https://www.gravatar.com/avatar/9f64a3c43c01820fd6be6b1ee3f326e1?d=identicon\u0026s=64",
      "cl": "D315078",
      "clUrl": "https://phabricator.services.mozilla.com/D315078",
      "description": "Turn on the navigator.audioSession surface, its state changes, and the block on\na page starting its own audio while the platform has that audio interrupted, so\nthe feature gets real-world exposure on Nightly while staying off on Beta and\nRelease.\n\nAlso let GeckoView shape its platform audio-focus request after the session\ntype. Without it the type a page picks would reach no platform at all, because\nGeckoView is its only consumer and desktop has none, leaving the type observable\nonly through telemetry.\n\nExposing the API also puts an AudioSession global on Nightly, which the\ninterface exposure test tracks.\n\nhttps://w3c.github.io/audio-session/\n\nDifferential Revision: https://phabricator.services.mozilla.com/D315078",
      "email": "alwu@mozilla.com",
      "hash": "f4f728a6fab40549f63558c2ca86655768de1a16",
      "subject": "Bug 2055710 - Enable the Audio Session API on Nightly. r=webidl,media-playback-reviewers,smaug,chunmin"
    },
    "D315122": {
      "author": "Drew Willcoxon",
      "avatar": "https://www.gravatar.com/avatar/fa60148022a230fe1bacc441549b1c66?d=identicon\u0026s=64",
      "cl": "D315122",
      "clUrl": "https://phabricator.services.mozilla.com/D315122",
      "description": "This test didn't fail after several retriggers on try, and I can't reproduce it\nlocally, so I think we can try re-enabling it:\n\nhttps://treeherder.mozilla.org/jobs?repo=try\u0026revision=ebf6aab632114121ae176818936bbb4b05079c04\n\nIt may just be intermittent.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D315122",
      "email": "adw@mozilla.com",
      "hash": "a9cb518e723e094e5ae41e294a6cb5b714f2b81e",
      "subject": "Bug 2057869 - [Nova] Re-enable test browser_searchModeSwitcher_basic.js. r=daisuke,urlbar-reviewers"
    },
    "D315129": {
      "author": "Hiroyuki Ikezoe",
      "avatar": "https://www.gravatar.com/avatar/9ec516861853d265a973cd0ef66735cf?d=identicon\u0026s=64",
      "cl": "D315129",
      "clUrl": "https://phabricator.services.mozilla.com/D315129",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D315129",
      "email": "hikezoe.birchill@mozilla.com",
      "hash": "cfaa1bf99e53a4a11ab1dc1d39c2d102487f7afc",
      "subject": "Bug 2057878 - Adjust browser_test_autoscrolling_in_extension_popup_window.js  annotation. r=botond"
    },
    "D315130": {
      "author": "Hiroyuki Ikezoe",
      "avatar": "https://www.gravatar.com/avatar/9ec516861853d265a973cd0ef66735cf?d=identicon\u0026s=64",
      "cl": "D315130",
      "clUrl": "https://phabricator.services.mozilla.com/D315130",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D315130",
      "email": "hikezoe.birchill@mozilla.com",
      "hash": "968cc858c7edd8b5a11434b9420cd447f6f92839",
      "subject": "Bug 2059273 - Skip browser_test_autoscrolling_in_oop_frame.js on Wayland. r=botond"
    },
    "D315133": {
      "author": "Masayuki Nakano",
      "avatar": "https://www.gravatar.com/avatar/900caab146bc7a489b3854cf10acf93f?d=identicon\u0026s=64",
      "cl": "D315133",
      "clUrl": "https://phabricator.services.mozilla.com/D315133",
      "description": "Currently, browsers allow the selection range to be outside the focused\nediting host. Then, only Chrome allow to modify the `Selection`.\nHowever, I think we should not follow Chrome because it may cause more\ncomplicated things in edge cases. Therefore, the new tentative WPT\ncheck whether the selection won't be modified.\n\nNote that the reported assertion failure occurs only when the selection\nmove crosses a frame. Therefore, the new WPT puts caret at edge of the\n`Text` to cross the frame boundary with the `Selection.modify` call.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D315133",
      "email": "masayuki@d-toybox.com",
      "hash": "bef00736ac79d7447f9626f58837a4b4e6e53489",
      "subject": "Bug 1955142 - Make `nsFrameSelection::MoveCaret` should do nothing if the anchor-focus range is outside the limiters r=jjaschke"
    },
    "D315134": {
      "author": "Masayuki Nakano",
      "avatar": "https://www.gravatar.com/avatar/900caab146bc7a489b3854cf10acf93f?d=identicon\u0026s=64",
      "cl": "D315134",
      "clUrl": "https://phabricator.services.mozilla.com/D315134",
      "description": "The lambda is a script runner so that the state may have already been\nchanged when it runs. Therefore, it should check whether the state is\nstill expected one, i.e., whether the lambda still needs to create\n`IMEContentObserver` for the situation that the focused element was\nremoved from the DOM.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D315134",
      "email": "masayuki@d-toybox.com",
      "hash": "5476115193aaddde9701b9dd06af051bbec130b9",
      "subject": "Bug 1922615 - Make the lambda to recreate `IMEContentObserver` check whether the state is still expected one r=jjaschke"
    },
    "D315149": {
      "author": "Gabriel Luong",
      "avatar": "https://www.gravatar.com/avatar/8d4b3dd6d3dd0178956876e108d984c6?d=identicon\u0026s=64",
      "cl": "D315149",
      "clUrl": "https://phabricator.services.mozilla.com/D315149",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D315149",
      "email": "gabriel.luong@gmail.com",
      "hash": "62ac3552aad561cdcf7d3c4c408c68571595a2af",
      "subject": "Bug 2058959 - Update Nova icons with acorn-icons upstream r=android-reviewers,npoon"
    },
    "D315224": {
      "author": "Mark Hammond",
      "avatar": "https://www.gravatar.com/avatar/892812c8e0a35b4cc1b131ad00c2ebbc?d=identicon\u0026s=64",
      "cl": "D315224",
      "clUrl": "https://phabricator.services.mozilla.com/D315224",
      "description": "Vendoring main is currently broken in multiple ways. The logins-wipe-crash\nbranch is what's currently in m-c plus\nhttps://github.com/mozilla/application-services/pull/7515.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D315224",
      "email": "mhammond@skippinet.com.au",
      "hash": "ee1b309f800a8e1cae70b4dd02a9433517a66181",
      "subject": "Bug 2058915 - vendor logins-wipe-crash app-services branch. r=joschmidt"
    },
    "D315226": {
      "author": "Sylvestre Ledru",
      "avatar": "https://www.gravatar.com/avatar/5aa2e382197a147b42d020b6878f8623?d=identicon\u0026s=64",
      "cl": "D315226",
      "clUrl": "https://phabricator.services.mozilla.com/D315226",
      "description": "Add a short page describing the platform-specific file metadata written when a\ndownload completes: the Zone.Identifier stream on Windows, kMDItemWhereFroms and\nquarantine metadata on macOS, and the metadata::download-uri GIO attribute on\nLinux.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D315226",
      "email": "sledru@mozilla.com",
      "hash": "dcbf9d2aea551ca72cacd8328c08411fd0d67c32",
      "subject": "Bug 267369 - Document how Firefox records download origin metadata r=firefox-desktop-core-reviewers ,mossop DONTBUILD"
    },
    "D315237": {
      "author": "smayya",
      "avatar": "https://www.gravatar.com/avatar/b032108dab3ccfada1140fb485c6e182?d=identicon\u0026s=64",
      "cl": "D315237",
      "clUrl": "https://phabricator.services.mozilla.com/D315237",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D315237",
      "email": "smayya@mozilla.com",
      "hash": "5bbabec7d31668de710c9e007308b62fe42ccfa1",
      "subject": "Bug 2054560 - Update WPT expectation for speculation rules. r=necko-reviewers,kershaw"
    },
    "D315239": {
      "author": "Dão Gottwald",
      "avatar": "https://www.gravatar.com/avatar/45dfe136efbb8e5f89eb0b21775ab195?d=identicon\u0026s=64",
      "cl": "D315239",
      "clUrl": "https://phabricator.services.mozilla.com/D315239",
      "description": "A test-only fix that has to precede the pref-on CI variant: test_switch_engine\nclicks the go button immediately after awaiting SearchService.setDefault(), and\non the message path the child's engine store still holds the previous default at\nthat moment, so the search submits to the old engine.\n\nWorth checking: the wait is inert on the direct path, where the store is updated\nsynchronously within setDefault(). The second wait, after the task's own cleanup\nsetDefault(), keeps the next task from running against a stale default.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D315239",
      "email": "dao@mozilla.com",
      "hash": "7619b3f4c40a570f6b3f51d2e1523d1a6709246c",
      "subject": "Bug 2059159 - Wait for the searchbar to observe the new default engine in test_switch_engine. r=mbeier"
    },
    "D315240": {
      "author": "Jon Coppeard",
      "avatar": "https://www.gravatar.com/avatar/c9ec760b0d3a20a6775614baa4086871?d=identicon\u0026s=64",
      "cl": "D315240",
      "clUrl": "https://phabricator.services.mozilla.com/D315240",
      "description": "The cell here can be a shared atom so we need to skip the assertion in zone()\nthat checks whether the zone is one we have access to. The shared atoms zone\ndoesn't get GCed until shutdown so we're OK to check its GC state here.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D315240",
      "email": "jcoppeard@mozilla.com",
      "hash": "9f667bd744984f722a7dcfb7d955a66858ad98c8",
      "subject": "Bug 2057455 - Allow observing mark state of shared atoms in shell testing functions r=spidermonkey-reviewers,jandem"
    },
    "D315248": {
      "author": "Jens Stutte",
      "avatar": "https://www.gravatar.com/avatar/9dcff4a8838b41f34d204c2f4cadbcc4?d=identicon\u0026s=64",
      "cl": "D315248",
      "clUrl": "https://phabricator.services.mozilla.com/D315248",
      "description": "Pref keeps its default and user values in a union governed by a single shared\ntype tag. FromDomPref applies the incoming default value first, so when that\nvalue changes the type it leaves mUserValue holding a member of the old type,\nwhich the user-value handling right below then reads as the new type.\n\nA content process can hold a user value whose type no longer matches the\nparent's, because ContentParent::Observe deliberately drops updates for prefs\nthat ShouldSanitizePreference() classifies as sanitized, and that\nclassification applies only while a dynamically named pref is a String without\na default value.\n\nClear such a user value before the type tag changes, while Clear() can still\nmatch the type it was actually stored as.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D315248",
      "email": "jstutte@mozilla.com",
      "hash": "36791c923c6525549e85d00f016a02dede8be6c8",
      "subject": "Bug 2058645 - Clear a stale user value when an incoming pref update flips the type. r=gstoll"
    },
    "D315252": {
      "author": "Alexandra Borovova",
      "avatar": "https://www.gravatar.com/avatar/b5f1ef97b56e8d368128ed4a4206a6ff?d=identicon\u0026s=64",
      "cl": "D315252",
      "clUrl": "https://phabricator.services.mozilla.com/D315252",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D315252",
      "email": "aborovova@mozilla.com",
      "hash": "1216868c57d46e19c5563087de6baeb4146806e1",
      "subject": "Bug 2058782 - Update metadata for webtransport/datagrams.https.any.js."
    },
    "D315267": {
      "author": "Dão Gottwald",
      "avatar": "https://www.gravatar.com/avatar/45dfe136efbb8e5f89eb0b21775ab195?d=identicon\u0026s=64",
      "cl": "D315267",
      "clUrl": "https://phabricator.services.mozilla.com/D315267",
      "description": "searchModeShortcut() read the store's default engine synchronously. The store is\npopulated by an actor message on the message path, so in a fresh window that read\ncomes back empty and the mode is built with a search source and no engine -- a\nshape with no local-search-mode entry, so the switcher throws resolving its\nlabel.\n\nAwaiting the store first is inert on the direct path, where it is already\npopulated by the time the shortcut runs. Behavior does change when the search\nservice has failed: the shortcut now leaves search mode alone rather than\nentering that same engine-less mode.\n\nBoth inputs carried identical copies of this.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D315267",
      "email": "dao@mozilla.com",
      "hash": "c569e5fdf73a3886e75e842daec43b8a630f5b53",
      "subject": "Bug 2059379 - Wait for the engine store before entering the default-engine search mode. r=mbeier,urlbar-reviewers"
    },
    "D315272": {
      "author": "Jan-Niklas Jaeschke",
      "avatar": "https://www.gravatar.com/avatar/f8a4d2d2b8f9eec6bcb98f2ae8169d69?d=identicon\u0026s=64",
      "cl": "D315272",
      "clUrl": "https://phabricator.services.mozilla.com/D315272",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D315272",
      "email": "jjaschke@mozilla.com",
      "hash": "698326402c5b7735b83accb1fb5fd398961d1dba",
      "subject": "Bug 2059400 - Consolidate ScheduleSelectedContentUpdate into a single function with a mode enum. r=emilio"
    },
    "D315274": {
      "author": "AndiAJ",
      "avatar": "https://www.gravatar.com/avatar/b4ea35e4d5d0c51e2affc0dc2515853c?d=identicon\u0026s=64",
      "cl": "D315274",
      "clUrl": "https://phabricator.services.mozilla.com/D315274",
      "description": "The UI test was flaky because it clicked the \"Homepage\" setting instead of the \"Customize\" setting option.\n\nBased on past problems encountered with our \"legacy\" tests in some cases espresso clicks the wrong elements.\n\nBecause of this, I've switched from the ESPRESSO_BY_TEXT to UIAUTOMATOR_WITH_TEXT selector strategy.\n\nThe UI test successfully passed 50x on Firebase ✅ (without the retry rule)\n\nDifferential Revision: https://phabricator.services.mozilla.com/D315274",
      "email": "andiaj@users.noreply.github.com",
      "hash": "d21912fbd533f7a180465fdbf63fcff4ab0ed5e1",
      "subject": "Bug 2059337 - Fix verifyTheChangeAppIconButtonTest efficiency UI test r=aaronmt"
    },
    "D315285": {
      "author": "Sylvestre Ledru",
      "avatar": "https://www.gravatar.com/avatar/fb0fd07485efdfc05e02987075fdbab0?d=identicon\u0026s=64",
      "cl": "D315285",
      "clUrl": "https://phabricator.services.mozilla.com/D315285",
      "description": "The snapshots.clear() on the task allocation failure path is safe: when\nLifoAlloc::new_ fails it returns nullptr without running the constructor,\nso the list was never actually moved from. clang-tidy can't see that and\nreports bugprone-use-after-move.\n\nThe call only exists so that the LinkedList destructor doesn't hit its\ndebug \"list must be empty\" assertion, so unlink the snapshot directly\ninstead of going through the moved-from list.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D315285",
      "email": "sylvestre@debian.org",
      "hash": "8db24a6a47a1dec7be60074f45a68afd6bcc30a1",
      "subject": "Bug 2059419 - Avoid a bugprone-use-after-move warning in DispatchOffThreadBaselineCompile r=jandem"
    },
    "D315288": {
      "author": "Emilio Cobos Álvarez",
      "avatar": "https://www.gravatar.com/avatar/1d91d22a4892f16f744b31fd4286144e?d=identicon\u0026s=64",
      "cl": "D315288",
      "clUrl": "https://phabricator.services.mozilla.com/D315288",
      "description": "Presentation attributes and part attributes aren't that common to\nguarantee so much inline space, and the regressing bug changed sizes of\nthings enough to overflow the stack of the style threads (which is a lot\nsmaller by default).\n\nDifferential Revision: https://phabricator.services.mozilla.com/D315288",
      "email": "emilio@crisal.io",
      "hash": "e6763beac94923ceab1e6258c1d3e9d7acc98cb8",
      "subject": "Bug 2059423 - Reduce inline stack size of StyleSharingCandidate. r=firefox-style-system-reviewers,dshin"
    },
    "D315293": {
      "author": "Julien Cristau",
      "avatar": "https://www.gravatar.com/avatar/15b9b3783e4671cd882bff1316df14c9?d=identicon\u0026s=64",
      "cl": "D315293",
      "clUrl": "https://phabricator.services.mozilla.com/D315293",
      "description": "Links to trunk are bound to go stale.  And while there, replace\nmozilla-central with firefox-main.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D315293",
      "email": "jcristau@mozilla.com",
      "hash": "95e52347227cf3a24171270446b3b1684d87191b",
      "subject": "Bug 2059432 - use searchfox permalinks in good-first-bugs. r=padenot,ai4dev-reviewers,marco DONTBUILD"
    },
    "D315298": {
      "author": "Dave Townsend",
      "avatar": "https://www.gravatar.com/avatar/362f7fbd402cbbcc24cc12580712aa62?d=identicon\u0026s=64",
      "cl": "D315298",
      "clUrl": "https://phabricator.services.mozilla.com/D315298",
      "description": "This also removes the additional write of DAU_GROUPID_PREF_NAME which will have already been read from the database.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D315298",
      "email": "dtownsend@oxymoronical.com",
      "hash": "2cc2dbb3a5f04acfda5d55cc62de6450612fd48e",
      "subject": "Bug 2059430: Simplify writing new profile preferences. r=niklas"
    },
    "D315304": {
      "author": "Jamie Nicol",
      "avatar": "https://www.gravatar.com/avatar/8dd660b6c636b9880700591432e5eb21?d=identicon\u0026s=64",
      "cl": "D315304",
      "clUrl": "https://phabricator.services.mozilla.com/D315304",
      "description": "Metal ANGLE does not appear to be affected by these driver bugs. And\nsince it does not support GPU migration we don't need to\npessimistically apply them even on unaffected GPUs.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D315304",
      "email": "jnicol@mozilla.com",
      "hash": "bea8db6aa32da62281241b8163b9b067be6a50aa",
      "subject": "Bug 2059441 - Disable some macOS driver bug workarounds on Metal ANGLE. r=gfx-reviewers,nical"
    },
    "D315314": {
      "author": "Emilio Cobos Álvarez",
      "avatar": "https://www.gravatar.com/avatar/1d91d22a4892f16f744b31fd4286144e?d=identicon\u0026s=64",
      "cl": "D315314",
      "clUrl": "https://phabricator.services.mozilla.com/D315314",
      "description": "Omitting the position there will cause wrong round-tripping.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D315314",
      "email": "emilio@crisal.io",
      "hash": "5fbd2f131255776ba6e34e4b426b3920435fc908",
      "subject": "Bug 2059467 - Fix list-style: outside outside serialization. r=firefox-style-system-reviewers,dshin"
    },
    "D315319": {
      "author": "Alexandra Borovova",
      "avatar": "https://www.gravatar.com/avatar/b5f1ef97b56e8d368128ed4a4206a6ff?d=identicon\u0026s=64",
      "cl": "D315319",
      "clUrl": "https://phabricator.services.mozilla.com/D315319",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D315319",
      "email": "aborovova@mozilla.com",
      "hash": "a5811449e7f71f58e68d807810735f8982319b71",
      "subject": "Bug 2054560 - Update metdata for speculation-rules/prefetch/no-vary-search/prefetch-single-with-hint.https.html."
    },
    "D315331": {
      "author": "Jan-Niklas Jaeschke",
      "avatar": "https://www.gravatar.com/avatar/f8a4d2d2b8f9eec6bcb98f2ae8169d69?d=identicon\u0026s=64",
      "cl": "D315331",
      "clUrl": "https://phabricator.services.mozilla.com/D315331",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D315331",
      "email": "jjaschke@mozilla.com",
      "hash": "c9637487c1550050b51e0bc98855a259e3bafbd1",
      "subject": "Bug 2059121 - Hold strong reference to Document in HidePopoverInternal. r=keithamus"
    },
    "D315342": {
      "author": "Ryan VanderMeulen",
      "avatar": "https://www.gravatar.com/avatar/51823ded02903fa76c961fe2a3c1318a?d=identicon\u0026s=64",
      "cl": "D315342",
      "clUrl": "https://phabricator.services.mozilla.com/D315342",
      "description": "Bug 2052613 removed these two colors during an UnusedResources cleanup. They override defaults in the\nandroid-components contextmenu component, which style the note shown when long-pressing an image, so the\nnote stopped following the app theme and rendered dark against the light theme. Restore them and mark them\nignored for UnusedResources, since their only references live in android-components where the check cannot\nsee them.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D315342",
      "email": "rvandermeulen@mozilla.com",
      "hash": "7d438b99e58d16388e4327f2460d14ad4c8be075",
      "subject": "Bug 2059489 - Restore the themed colors for the Focus context menu note. r=android-reviewers,mcarare"
    },
    "a3541d456330": {
      "author": "moz-wptsync-bot",
      "avatar": "https://www.gravatar.com/avatar/c26d4d31bbd58c7c2201edd90d400494?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "wpt-pr: 61515\nwpt-type: metadata",
      "email": "wptsync@mozilla.com",
      "hash": "a3541d456330791d94cd9b7d8f1322c3de4956a4",
      "subject": "Bug 2057584 [wpt PR 61515] - Update wpt metadata, a=testonly"
    },
    "a4dfe205b5ee": {
      "author": "Andrew Verge",
      "avatar": "https://www.gravatar.com/avatar/de2ff0df25bbe6b3e4ac60cfc0275e04?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "Automatic update from web-platform-tests\n[Connection-Allowlist] Implement CSP-style restrictions for WebRTC.\n\nPreviously, Connection Allowlist blocked WebRTC by throwing an error in\nthe RTCPeerConnection constructor (crrev.com/c/7676321). However, this\ndiverges from how CSP handles WebRTC blocking, which could result in\nchurn for developers. This CL changes the renderer-side WebRTC blocking\nbehavior to match what has been specified for CSP. In particular:\n\n* Filter all ICE servers to avoid surfacing local candidates\n* Prevent adding of remote ICE candidates (this mimics the current state of the WebRTC + CSP integration)\n* Immediately fire an event to change to “failed” connection state(s) after construction\n* Calling restartIce() doesn’t change this outcome.\n\nThese four changes should produce the same result declared in the CSP\nspec: https://w3c.github.io/webappsec-csp/#directive-webrtc\n\nWeb Platform Tests have been updated to match this new behavior, and\neven pass the existing, unmodified CSP test logic.\n\nBug: 492439214\nFixed: 492439214\nChange-Id: Ib3b6261d0d19fdb3121ddca4f7d26905a0935fce\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8132041\nCommit-Queue: Andrew Verge \u003caverge@chromium.org\u003e\nReviewed-by: Guido Urdaneta \u003cguidou@chromium.org\u003e\nReviewed-by: Noam Rosenthal \u003cnrosenthal@google.com\u003e\nCr-Commit-Position: refs/heads/main@{#1669728}\n\n--\n\nwpt-commits: 7ba7013f9eab51c771cb980eec5807c49c1a4bb1\nwpt-pr: 61574",
      "email": "averge@chromium.org",
      "hash": "a4dfe205b5ee7711308732a7e3bffc78885142f2",
      "subject": "Bug 2058597 [wpt PR 61574] - [Connection-Allowlist] Implement CSP-style restrictions for WebRTC., a=testonly"
    },
    "a712fbd21a89": {
      "author": "Keren Zhu",
      "avatar": "https://www.gravatar.com/avatar/6dc28db7be951327730cdc44f32b5aa7?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "Automatic update from web-platform-tests\nUpdate fuzzy match tolerance for composited-filters-under-opacity.html\n\nIncreases the allowed maxDifference from 1 to 2 (test page #7f7ff7 vs\nref page #8080f7).\n\nChange-Id: Ib69e7100bdc399a8146c49bada54c9e837906186\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8163381\nAuto-Submit: Keren Zhu \u003ckerenzhu@chromium.org\u003e\nReviewed-by: Philip Rogers \u003cpdr@chromium.org\u003e\nCommit-Queue: Philip Rogers \u003cpdr@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1669616}\n\n--\n\nwpt-commits: 4439a8c1303f43015a4e54989a53738c5399ce91\nwpt-pr: 61581",
      "email": "kerenzhu@chromium.org",
      "hash": "a712fbd21a899a04848348f0549262266a9fda9c",
      "subject": "Bug 2058677 [wpt PR 61581] - Update fuzzy match tolerance for composited-filters-under-opacity.html, a=testonly"
    },
    "a8603f55f19f": {
      "author": "moz-wptsync-bot",
      "avatar": "https://www.gravatar.com/avatar/c26d4d31bbd58c7c2201edd90d400494?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "wpt-pr: 61527\nwpt-type: metadata",
      "email": "wptsync@mozilla.com",
      "hash": "a8603f55f19fd642911e4d107d71f624e370a499",
      "subject": "Bug 2057703 [wpt PR 61527] - Update wpt metadata, a=testonly"
    },
    "a9296020cfb5": {
      "author": "moz-wptsync-bot",
      "avatar": "https://www.gravatar.com/avatar/c26d4d31bbd58c7c2201edd90d400494?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "wpt-pr: 61531\nwpt-type: metadata",
      "email": "wptsync@mozilla.com",
      "hash": "a9296020cfb5004b915c49dd15921dfe4a2c04a6",
      "subject": "Bug 2057773 [wpt PR 61531] - Update wpt metadata, a=testonly"
    },
    "aea8e913dd65": {
      "author": "moz-wptsync-bot",
      "avatar": "https://www.gravatar.com/avatar/c26d4d31bbd58c7c2201edd90d400494?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "wpt-pr: 61548\nwpt-type: metadata",
      "email": "wptsync@mozilla.com",
      "hash": "aea8e913dd658879bf92bc09909045345af5ffb5",
      "subject": "Bug 2058200 [wpt PR 61548] - Update wpt metadata, a=testonly"
    },
    "b5b64a711116": {
      "author": "Silaghi",
      "avatar": "https://www.gravatar.com/avatar/81acf29bb88b2a0ded61f47b93c59dea?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "",
      "email": "asilaghi@mozilla.com",
      "hash": "b5b64a71111682c3cafd3a73fc3358ac1691cbb1",
      "subject": "Bug 2054560 - Update WPT metadata for speculation rules prefetch timeouts"
    },
    "b868a26fc3b4": {
      "author": "Silaghi",
      "avatar": "https://www.gravatar.com/avatar/81acf29bb88b2a0ded61f47b93c59dea?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "This reverts commit f4f728a6fab40549f63558c2ca86655768de1a16.",
      "email": "asilaghi@mozilla.com",
      "hash": "b868a26fc3b46b3e9e4a131e42148be7f7768b69",
      "subject": "Revert \"Bug 2055710 - Enable the Audio Session API on Nightly. r=webidl,media-playback-reviewers,smaug,chunmin\" for causing devtools and mochitest chrome failures"
    },
    "b8d97b93b86e": {
      "author": "Ahmed Moussa",
      "avatar": "https://www.gravatar.com/avatar/6392f58dc07a306bcf04bbba6d1e4ac3?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "Automatic update from web-platform-tests\nRevert \"Fix offset contours for concave corners\"\n\nThis reverts commit 0e59b495250929d4295f232e03bba5eab1d5248c.\n\nReason for revert: Causing Failures in Mac13 Test bots\n\nFailure Link: first failing run https://ci.chromium.org/ui/p/chromium/builders/ci/Mac13%20Tests/42210/overview\n\nOriginal change's description:\n\u003e Fix offset contours for concave corners\n\u003e\n\u003e Clamp contour miter intersections to their target edges so asymmetric\n\u003e concave corners do not produce stray outline and shadow segments.\n\u003e\n\u003e Bug: 532190484\n\u003e Change-Id: I29dfa1d4e072f1692f041417892f33ff60dfda39\n\u003e Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8128561\n\u003e Commit-Queue: Helmut Januschka \u003chelmut@januschka.com\u003e\n\u003e Reviewed-by: Noam Rosenthal \u003cnrosenthal@google.com\u003e\n\u003e Cr-Commit-Position: refs/heads/main@{#1668453}\n\nBug: 532190484\nNo-Presubmit: true\nNo-Tree-Checks: true\nNo-Try: true\nChange-Id: I4ed8fb2f2afea019be369bcff2c6145da75a80ce\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8158379\nCommit-Queue: Ahmed Moussa \u003cahmedmoussa@google.com\u003e\nBot-Commit: rubber-stamper@appspot.gserviceaccount.com \u003crubber-stamper@appspot.gserviceaccount.com\u003e\nAuto-Submit: Ahmed Moussa \u003cahmedmoussa@google.com\u003e\nOwners-Override: Ahmed Moussa \u003cahmedmoussa@google.com\u003e\nCr-Commit-Position: refs/heads/main@{#1668861}\n\n--\n\nwpt-commits: bf101f78c68620c7b096d6ac01ff86acd9186964\nwpt-pr: 61555",
      "email": "ahmedmoussa@google.com",
      "hash": "b8d97b93b86e3aa6d893f429853271842ce40724",
      "subject": "Bug 2058319 [wpt PR 61555] - Revert \"Fix offset contours for concave corners\", a=testonly"
    },
    "bb55e1ee5511": {
      "author": "Noam Rosenthal",
      "avatar": "https://www.gravatar.com/avatar/b4d8dca6c8e6ca5df482144dbec62ec3?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "Automatic update from web-platform-tests\nSupport \u003ctemplate for=\"...\" buffer\u003e\n\nThe \"buffer\" boolean attribute makes it so that the template content\nstreams into the template, and only applies to the target as a patch\nonce the template is done.\n\nDuring streaming, the content is available in template.content.\n\n(behind the DeclalrativeFragment flag)\n\nBug: 535664974\nChange-Id: I2ca998553e26725bb8e488f08efe2e196b2d080a\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8124335\nReviewed-by: Mason Freed \u003cmasonf@chromium.org\u003e\nCommit-Queue: Noam Rosenthal \u003cnrosenthal@google.com\u003e\nCr-Commit-Position: refs/heads/main@{#1668718}\n\n--\n\nwpt-commits: aeec70fdf67b70fcff2efb33da0a6fd2cdb51102\nwpt-pr: 61531",
      "email": "nrosenthal@chromium.org",
      "hash": "bb55e1ee55117d79a8f201dc88a0d17f4b0e5379",
      "subject": "Bug 2057773 [wpt PR 61531] - Support \u003ctemplate for=\"...\" buffer\u003e, a=testonly"
    },
    "c0ba2b3d5f94": {
      "author": "Philip Rogers",
      "avatar": "https://www.gravatar.com/avatar/d014ff658f9fc7d0af93500e06a31921?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "Automatic update from web-platform-tests\n[html-in-canvas] Fix missing background color on nested canvases\n\nWhen a layer exists for canvas, CSS background colors were set on the\nlayer. This did not work for nested html-in-canvas where the background\nneeds to be painted into the parent. This bug was only present after\ncalling ctx.reset() because on the initial render, a cc layer does not\nyet exist for the nested canvas, so DrawsBackgroundOntoContentLayer\nreturned false.\n\nFixed: 536346616\nChange-Id: If90fd1ff95438e49e75960996c696fdea2135502\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8149499\nReviewed-by: Stefan Zager \u003cszager@chromium.org\u003e\nCommit-Queue: Philip Rogers \u003cpdr@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1668735}\n\n--\n\nwpt-commits: 688f174f5efa277e4a2b6db64893b1dbfecb4600\nwpt-pr: 61550",
      "email": "pdr@chromium.org",
      "hash": "c0ba2b3d5f940b0872f73c39d8c7b6f6387ab367",
      "subject": "Bug 2058231 [wpt PR 61550] - [html-in-canvas] Fix missing background color on nested canvases, a=testonly"
    },
    "c1bf0a1c96ef": {
      "author": "moz-wptsync-bot",
      "avatar": "https://www.gravatar.com/avatar/c26d4d31bbd58c7c2201edd90d400494?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "wpt-pr: 61574\nwpt-type: metadata",
      "email": "wptsync@mozilla.com",
      "hash": "c1bf0a1c96ef8584f69e41bb3f32ff87e7e9858f",
      "subject": "Bug 2058597 [wpt PR 61574] - Update wpt metadata, a=testonly"
    },
    "d4a7afe56c47": {
      "author": "wpt-pr-bot",
      "avatar": "https://www.gravatar.com/avatar/d77ee3a6d3b9b22ddaf1a1640395e75c?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "Automatic update from web-platform-tests\nUpdate Wasm tests from WebAssembly/spec@dfa3f32\n\nUpstream: https://github.com/WebAssembly/spec/commit/dfa3f32a881aecc60a8c792da3c25787ccb15572\n\n--\n\nwpt-commits: ad1c8c29357141e48698bf34f0dc32abd278a4a6\nwpt-pr: 61535",
      "email": "wpt-pr-bot@users.noreply.github.com",
      "hash": "d4a7afe56c47345d80f372fe1ebdfc8e9c70d72d",
      "subject": "Bug 2057838 [wpt PR 61535] - Update Wasm tests, a=testonly"
    },
    "db442833d046": {
      "author": "Silaghi",
      "avatar": "https://www.gravatar.com/avatar/81acf29bb88b2a0ded61f47b93c59dea?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "This reverts commit f143a929b733019acbf08cd784be35c1cbb5c224.",
      "email": "asilaghi@mozilla.com",
      "hash": "db442833d04684cd09ca20374b8b1c04a6080b34",
      "subject": "Revert \"Bug 1968811 - Update WPT metadata for speculation rules prefetch timeouts\" for wrong commit bug."
    },
    "dc09fc71f1d2": {
      "author": "moz-wptsync-bot",
      "avatar": "https://www.gravatar.com/avatar/c26d4d31bbd58c7c2201edd90d400494?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "wpt-pr: 61567\nwpt-type: metadata",
      "email": "wptsync@mozilla.com",
      "hash": "dc09fc71f1d20c83db7df697ef59db0d30982f2b",
      "subject": "Bug 2058400 [wpt PR 61567] - Update wpt metadata, a=testonly"
    },
    "de0efbbc4638": {
      "author": "Byungwoo Lee",
      "avatar": "https://www.gravatar.com/avatar/68d0bfcad9736da7bf7ac01d0fe92116?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "Automatic update from web-platform-tests\nPreserve invalid selectors in :is() and :where()\n\nAs per the resolution in w3c/csswg-drafts/issues/8356 [1], forgiving\nselector lists (argument of :is(), :where()) need to preserve invalid\narguments for serialization, even though they never match anything.\n\nUse the existing pseudo type kPseudoUnparsed with kNone nesting type\nto keep an invalid selector text and change the css selector parser\nso it creates the placeholder for the failed-parsing complex selector.\n\nTo keep the current First()/Next() behavior of CSSSelectorList, the\nmethods skip the unparsed-invalid selector.\n\nFirstIncludingUnparsedInvalid() and NextIncludingUnparsedInvalid()\nare added in CSSSelectorList to serialize with the unparsed-invalid\nselectors.\n\nAdd a private method IsInvalidWithoutUnparsed() to CSSSelectorList\nto distinguish an empty list (CSSSelectorList::Empty()) from an\ninvalid list that has unparsed-invalid selectors. Replace the IsValid()\nchecks that meant \"empty\" with it (e.g. in Copy() and ComputeLength()),\nso the methods can handle the preserved unparsed invalid selectors.\n\nThe invalid selector serialization works behind the experimental\nfeature SerializeInvalidSelectorsInForgivingSelectorList.\n\n[1] https://github.com/w3c/csswg-drafts/issues/8356\n\nBug: 40277472\nChange-Id: I5d350d815153fbf846ed8763707d0938a2327376\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8068106\nCommit-Queue: Byungwoo Lee \u003cblee@igalia.com\u003e\nReviewed-by: Rune Lillesveen \u003cfuthark@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1669314}\n\n--\n\nwpt-commits: 0acb81f2619df3096926dcc5a9d234d668f5a38e\nwpt-pr: 61514",
      "email": "blee@igalia.com",
      "hash": "de0efbbc463865c78b8c3949a6957be6054d46b3",
      "subject": "Bug 2057582 [wpt PR 61514] - Preserve invalid selectors in :is() and :where(), a=testonly"
    },
    "df8da2ca7851": {
      "author": "moz-wptsync-bot",
      "avatar": "https://www.gravatar.com/avatar/c26d4d31bbd58c7c2201edd90d400494?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "wpt-pr: 61569\nwpt-type: metadata",
      "email": "wptsync@mozilla.com",
      "hash": "df8da2ca7851d6501d20c7b460444dc6675ccc50",
      "subject": "Bug 2058507 [wpt PR 61569] - Update wpt metadata, a=testonly"
    },
    "e2d6e50f0679": {
      "author": "Anthony Vallee-Dubois",
      "avatar": "https://www.gravatar.com/avatar/373c964b1de8df03a08ed5616c3e29cd?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "Automatic update from web-platform-tests\nRevert \"[sub apps] enable wpt tests\"\n\nThis reverts commit f56a10fc2ca726d6401a1c2232370faa8ce7d740.\n\nReason for revert: New tests fail on some Linux bots\n\nFailure Link: https://ci.chromium.org/ui/p/chromium/builders/ci/Linux%20Tests/184324/overview\n\nOriginal change's description:\n\u003e [sub apps] enable wpt tests\n\u003e\n\u003e Re-enable the tests in third_party/blink/web_tests/external/wpt/subapps.\n\u003e\n\u003e - Use virtual test suits to emulate isolated context with header overrides.\n\u003e - Modernized tests to fit new sub apps API shape.\n\u003e - Remove insecure context test because by definition isolated context cannot be insecure.\n\u003e - Add a test that checks permission policy behavior.\n\u003e\n\u003e Fixed: 40928236\n\u003e Change-Id: Idc3d52c01a5a4cb4f4f588ea8c6011e1e13b4901\n\u003e Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8122238\n\u003e Reviewed-by: Andrew Rayskiy \u003cgreengrape@google.com\u003e\n\u003e Reviewed-by: Vladimir Levin \u003cvmpstr@chromium.org\u003e\n\u003e Reviewed-by: Rick Byers \u003crbyers@chromium.org\u003e\n\u003e Commit-Queue: Vlad Krot \u003cvkrot@google.com\u003e\n\u003e Cr-Commit-Position: refs/heads/main@{#1668571}\n\nBug: 40928236\nNo-Presubmit: true\nNo-Tree-Checks: true\nNo-Try: true\nChange-Id: Icd7537fdea44945284b4f83325c6805ff8886727\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8157180\nOwners-Override: Anthony Vallee-Dubois \u003canthonyvd@chromium.org\u003e\nReviewed-by: Anthony Vallee-Dubois \u003canthonyvd@chromium.org\u003e\nBot-Commit: rubber-stamper@appspot.gserviceaccount.com \u003crubber-stamper@appspot.gserviceaccount.com\u003e\nAuto-Submit: Anthony Vallee-Dubois \u003canthonyvd@chromium.org\u003e\nCommit-Queue: Anthony Vallee-Dubois \u003canthonyvd@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1668824}\n\n--\n\nwpt-commits: da8d7a45f7393e4b3e075a533bd7f0cb67f4bbc1\nwpt-pr: 61552",
      "email": "anthonyvd@chromium.org",
      "hash": "e2d6e50f067972c8b02811884fb29d21f25092fa",
      "subject": "Bug 2058275 [wpt PR 61552] - Revert \"[sub apps] enable wpt tests\", a=testonly"
    },
    "e39a6daba615": {
      "author": "moz-wptsync-bot",
      "avatar": "https://www.gravatar.com/avatar/c26d4d31bbd58c7c2201edd90d400494?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "wpt-pr: 61550\nwpt-type: metadata",
      "email": "wptsync@mozilla.com",
      "hash": "e39a6daba6155e53227e11625f76572302623438",
      "subject": "Bug 2058231 [wpt PR 61550] - Update wpt metadata, a=testonly"
    },
    "e50fea0ed0b9": {
      "author": "Stephanie Zhang",
      "avatar": "https://www.gravatar.com/avatar/9fbb89978c93802443181fa0921a8de5?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "Automatic update from web-platform-tests\n[css-mixins] Serialize parameterless @mixin without parentheses\n\nCSSMixinRule::cssText() always emitted a parenthesized parameter list,\nso a parameterless @mixin serialized as `@mixin --foo() { ... }` even\nwhen it was defined as `@mixin --foo { ... }`.\n\nOmit the parentheses when the mixin has no parameters, per the CSSWG\nresolution:\nhttps://github.com/w3c/csswg-drafts/issues/13015#issuecomment-5026379236\n\nChange-Id: I568170020972374c7da47d85d002dea2e26a7eca\nFixed: 535826284\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8127699\nCommit-Queue: Stephanie Zhang \u003cstephanie.zhang@microsoft.com\u003e\nReviewed-by: Kevin Babbitt \u003ckbabbitt@microsoft.com\u003e\nCr-Commit-Position: refs/heads/main@{#1669061}\n\n--\n\nwpt-commits: 0e6fba5635c1970881ae7bafc6745e730678a959\nwpt-pr: 61563",
      "email": "stephanie.zhang@microsoft.com",
      "hash": "e50fea0ed0b99e0027685c0d162a64562666e8a7",
      "subject": "Bug 2058362 [wpt PR 61563] - [css-mixins] Serialize parameterless @mixin without parentheses, a=testonly"
    },
    "e83adc10defb": {
      "author": "youennf",
      "avatar": "https://www.gravatar.com/avatar/724f5454125ca2136bad506736f0890f?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "Automatic update from web-platform-tests\nWebKit export of https://bugs.webkit.org/show_bug.cgi?id=320359 (#61567)\n\n* WebKit export of https://bugs.webkit.org/show_bug.cgi?id=320359\n--\n\nwpt-commits: 92ce110bdfaafc84acc1e37b4bbae549f112b8aa\nwpt-pr: 61567",
      "email": "youennf@users.noreply.github.com",
      "hash": "e83adc10defb01a7d5f4f7db040c97f3c36a8656",
      "subject": "Bug 2058400 [wpt PR 61567] - WebKit export of https://bugs.webkit.org/show_bug.cgi?id=320359, a=testonly"
    },
    "eaea33577f29": {
      "author": "Silaghi",
      "avatar": "https://www.gravatar.com/avatar/81acf29bb88b2a0ded61f47b93c59dea?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "This reverts commit d6f35f2932b0d4b1976a86cb8945ea971a6c672c.\n\nRevert \"Bug 2033123 - Gate megazord behind `uniffi-target` on non-Android r=nalexander\"\n\nThis reverts commit cfd563e17a59b299ed5d5a836f0eae401101e599.\n\nRevert \"Bug 2033123 - Make `./mach uniffi generate` use `uniffi-target` to build binaries and libraries r=nalexander,firefox-build-system-reviewers,sergesanspaille\"\n\nThis reverts commit 6ede1c85793f678b41a393aefe6a5cda6bd33ac7.\n\nRevert \"Bug 2033123 - Make `uniffi-target` build `embedded-uniffi-bindgen` and the megazord r=nalexander,firefox-build-system-reviewers,sergesanspaille\"\n\nThis reverts commit 6cf3aebd6e7a87f38ae6ab3dcfb64b5bb677d11a.\n\nRevert \"Bug 2033123 - Add `uniffi-target` encapsulating build steps for `./mach uniffi generate` r=nalexander,firefox-build-system-reviewers\"\n\nThis reverts commit 67c91dd6639b0384cafd8a7683b1c488b2e77513.\n\nRevert \"Bug 2033123 - Wire `mozbuild-rustlib` through application-services NSS link chain r=nalexander,firefox-build-system-reviewers,sergesanspaille\"\n\nThis reverts commit d1f9d2e19f5e549c678c513e1990dd90dc56b862.\n\nRevert \"Bug 2035575 - Point the Android `glean-build` at the `glean_parser` venv r=nalexander,firefox-build-system-reviewers,geckoview-reviewers\"\n\nThis reverts commit 87a9fad7336c88f0f18d78547c55bf22713633fb.",
      "email": "asilaghi@mozilla.com",
      "hash": "eaea33577f29d4537ee2f20810aaa9bd1c4f025f",
      "subject": "Revert \"Bug 2033123, Bug 2035575 - Make `./mach uniffi generate` generate Android Kotlin sources r=nalexander\" at dev request."
    },
    "eaedb717da97": {
      "author": "Mustaq Ahmed",
      "avatar": "https://www.gravatar.com/avatar/63b044fb3f6168be8e0dfe462a3769d2?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "Automatic update from web-platform-tests\nMake transitionrun event timing spec-compliant\n\nService the transition event delegate synchronously upon transition\ncreation in CSSAnimations::MaybeApplyPendingUpdate behind the\nEventTimingMatchingHTML flag so that transitionrun event timing is\nspec-compliant with CSS Transitions Level 1:\nhttps://drafts.csswg.org/css-transitions/#transitionrun\n\nTAG=agy\nCONV=20d252d1-f2a2-4994-acf6-67ee89d64665\n\nBug: 397737222\nChange-Id: Ib0f075d0d642076b5277cb3f60f4460973abf374\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8129069\nCommit-Queue: Mustaq Ahmed \u003cmustaq@chromium.org\u003e\nReviewed-by: Kevin Ellis \u003ckevers@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1668730}\n\n--\n\nwpt-commits: 5059bfeb1f68db7fcb288a91f5625e77b98ffe70\nwpt-pr: 61549",
      "email": "mustaq@google.com",
      "hash": "eaedb717da9728e3cbd6d0cb24a2ec85fd53ac8e",
      "subject": "Bug 2058225 [wpt PR 61549] - Make transitionrun event timing spec-compliant, a=testonly"
    },
    "f143a929b733": {
      "author": "Silaghi",
      "avatar": "https://www.gravatar.com/avatar/81acf29bb88b2a0ded61f47b93c59dea?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "",
      "email": "asilaghi@mozilla.com",
      "hash": "f143a929b733019acbf08cd784be35c1cbb5c224",
      "subject": "Bug 1968811 - Update WPT metadata for speculation rules prefetch timeouts"
    },
    "f52eed90ff23": {
      "author": "moz-wptsync-bot",
      "avatar": "https://www.gravatar.com/avatar/c26d4d31bbd58c7c2201edd90d400494?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "wpt-pr: 61572\nwpt-type: metadata",
      "email": "wptsync@mozilla.com",
      "hash": "f52eed90ff237ecd746f32decf0cada33b57ef23",
      "subject": "Bug 2058554 [wpt PR 61572] - Update wpt metadata, a=testonly"
    }
  },
  "date": "2026-07-30",
  "days": 1,
  "generatedAt": "2026-07-30T22:07:05Z",
  "markdown": "## Highlights\n- **Web Platform** Firefox landed the bulk of same-origin Speculation Rules prefetch plumbing and flipped it on for Nightly, bringing parser, actor, cache, matching, and navigation integration together behind one feature push. [Phab D310767](https://phabricator.services.mozilla.com/D310767)\n- **V8** SpiderMonkey landed an 18-part generator and async resume overhaul that resumes more paths directly into Baseline/JIT code and strips old interpreter-only machinery. [Phab D314913](https://phabricator.services.mozilla.com/D314913)\n- **Security** Principal validation tightened in multiple privileged paths, blocking chrome: principal loads and adding ValidatePrincipal checks to service worker IPC endpoints. [Phab D312257](https://phabricator.services.mozilla.com/D312257)\n- **GPU** Metal ANGLE and WebRender sync got a real fence-based path via MTLSharedEvent, which should reduce timing hazards in WebGL on macOS. [Phab D315021](https://phabricator.services.mozilla.com/D315021)\n- **Media** The Audio Session API was re-enabled on Nightly after an earlier backout, alongside remote media engine and CDM state safety fixes. [Phab D315078](https://phabricator.services.mozilla.com/D315078)\n- **UI** Sidebar and tab strip work continued with sortable open tabs, keyboard fixes in the new sidebar, and a fullscreen video blank-strip fix for Nova plus vertical tabs. [Phab D314728](https://phabricator.services.mozilla.com/D314728)\n- **Build** The build system got a substantial app-services and UniFFI workflow cleanup, plus new moz.build-based macOS app bundle assembly infrastructure. [Phab D303694](https://phabricator.services.mozilla.com/D303694)\n- **Rendering** Graphics and layout landed a dense set of correctness and perf fixes, including pixman rotate rounding, gradient repeat rounding, border task reductions, and safer window teardown. [Phab D314824](https://phabricator.services.mozilla.com/D314824)\n- **Privacy** Android extensions now respect private browsing eligibility more consistently, including rejecting tabs.create() when PBM is disallowed and opening action popups in matching privacy mode. [Phab D311848](https://phabricator.services.mozilla.com/D311848)\n\n## What landed by area\n\n### Web Platform and DOM\n- **Web Platform** Enabled the Speculation Rules API for same-origin prefetch on Nightly. [Phab D310767](https://phabricator.services.mozilla.com/D310767)\n- **Web Platform** Passed cookie storage info while creating prefetch channels so prefetched navigations carry the right storage context. [Phab D302518](https://phabricator.services.mozilla.com/D302518)\n- **Web Platform** Integrated the DOM speculation rules parser with PrefetchRecord actors and the SpeculationRules manager. [Phab D302517](https://phabricator.services.mozilla.com/D302517)\n- **Web Platform** Exposed deliveryType=\"navigational-prefetch\" on PerformanceNavigationTiming. [Phab D302516](https://phabricator.services.mozilla.com/D302516)\n- **Web Platform** Served navigations from the prefetch cache in DocumentLoadListener. [Phab D302514](https://phabricator.services.mozilla.com/D302514)\n- **Web Platform** Implemented the async PrefetchMatchWaiter path for prefetch wait semantics. [Phab D302513](https://phabricator.services.mozilla.com/D302513)\n- **Web Platform** Implemented navigation matching algorithms for speculation rules. [Phab D302512](https://phabricator.services.mozilla.com/D302512)\n- **Web Platform** Added prefetch completion and dedupe handling in actor-backed records. [Phab D302510](https://phabricator.services.mozilla.com/D302510)\n- **Web Platform** Added cancel handling and actor-destroy safety nets for prefetch records. [Phab D302509](https://phabricator.services.mozilla.com/D302509)\n- **Web Platform** Added a cross-site redirect partition-key check for speculation rules prefetch. [Phab D302508](https://phabricator.services.mozilla.com/D302508)\n- **Web Platform** Implemented PrefetchRecordParent init and streaming interfaces. [Phab D302507](https://phabricator.services.mozilla.com/D302507)\n- **Web Platform** Wired MOZ_LOG lifecycle logging for prefetch actors and the SpeculationRulesManager. [Phab D302506](https://phabricator.services.mozilla.com/D302506)\n- **Web Platform** Added a dedicated SpeculationRules log module and prefs. [Phab D302505](https://phabricator.services.mozilla.com/D302505)\n- **Web Platform** Integrated SpeculationRulesManager with Document. [Phab D302504](https://phabricator.services.mozilla.com/D302504)\n- **Web Platform** Added the initial SpeculationRulesManager skeleton. [Phab D302503](https://phabricator.services.mozilla.com/D302503)\n- **Web Platform** Added the PPrefetchRecord IPDL actor scaffolding. [Phab D302502](https://phabricator.services.mozilla.com/D302502)\n- **Web Platform** Implemented HTML PR 10327 for module loading behavior and updated related tests. [Phab D313493](https://phabricator.services.mozilla.com/D313493)\n- **Web Platform** Updated text module repeated-imports behavior to match the new loading semantics. [Phab D313495](https://phabricator.services.mozilla.com/D313495)\n- **Web Platform** Updated modulepreload SRI importmap coverage for the new HTML behavior. [Phab D313496](https://phabricator.services.mozilla.com/D313496)\n- **Web Platform** Fixed list-style: outside outside serialization. [Phab D315314](https://phabricator.services.mozilla.com/D315314)\n- **Web Platform** Synchronously updated descendant selectedcontent elements when option.selected changes. [Phab D314003](https://phabricator.services.mozilla.com/D314003)\n- **Web Platform** Consolidated selectedcontent scheduling into one mode-based function. [Phab D315272](https://phabricator.services.mozilla.com/D315272)\n- **Web Platform** Held a strong Document reference in HidePopoverInternal to avoid lifetime hazards. [Phab D315331](https://phabricator.services.mozilla.com/D315331)\n- **Web Platform** Cleared mDocumentChildren after the XSLT branch consumes it in DidBuildModel. [Phab D314950](https://phabricator.services.mozilla.com/D314950)\n- **Web Platform** Made FontFaceSet lazily create its ready Promise only when GetReady is called. [Phab D314584](https://phabricator.services.mozilla.com/D314584)\n\n### JavaScript engine and GC\n- **V8** Removed the InterpreterFrame RESUMED_GENERATOR flag as the first step in the resume pipeline cleanup. [Phab D314913](https://phabricator.services.mozilla.com/D314913)\n- **V8** Factored out InterpreterStack::createGeneratorResumeFrame. [Phab D314914](https://phabricator.services.mozilla.com/D314914)\n- **V8** Refactored AbstractGeneratorObject::resume so entry frames can use it too. [Phab D314915](https://phabricator.services.mozilla.com/D314915)\n- **V8** Added GeneratorResumeState for generators, async functions, and modules. [Phab D314916](https://phabricator.services.mozilla.com/D314916)\n- **V8** Switched async function and generator resume paths to GeneratorResumeState. [Phab D314917](https://phabricator.services.mozilla.com/D314917)\n- **V8** Removed InterpretGeneratorResume and JSOp::ForceInterpreter. [Phab D314918](https://phabricator.services.mozilla.com/D314918)\n- **V8** Removed the module handler function and stored the module in the generator object. [Phab D314919](https://phabricator.services.mozilla.com/D314919)\n- **V8** Made Debugger onResumeFrame and AfterYield handling more consistent. [Phab D314920](https://phabricator.services.mozilla.com/D314920)\n- **V8** Added a MacroAssembler::andPtr overload for Address operands. [Phab D314921](https://phabricator.services.mozilla.com/D314921)\n- **V8** Made Baseline JSOp::Resume callee-driven through the prologue. [Phab D314922](https://phabricator.services.mozilla.com/D314922)\n- **V8** Added interpreter-stub support for generator resume. [Phab D314923](https://phabricator.services.mozilla.com/D314923)\n- **V8** Resumed suspended generators and async functions into Baseline from C++. [Phab D314924](https://phabricator.services.mozilla.com/D314924)\n- **V8** Supported generator resume in the interpreter entry trampoline. [Phab D314925](https://phabricator.services.mozilla.com/D314925)\n- **V8** Resumed JSOp::Resume in JIT code for the C++ interpreter. [Phab D314927](https://phabricator.services.mozilla.com/D314927)\n- **V8** Disabled CanSkipAwait for module scripts. [Phab D314928](https://phabricator.services.mozilla.com/D314928)\n- **V8** Avoided frame iteration for the CanSkipAwait optimization. [Phab D314929](https://phabricator.services.mozilla.com/D314929)\n- **V8** Removed JSContext::asyncResumeDepth. [Phab D314930](https://phabricator.services.mozilla.com/D314930)\n- **V8** Fixed the PBL build fallout from the async resume series. [Phab D314931](https://phabricator.services.mozilla.com/D314931)\n- **V8** Added a register-use check in LIRGenerator::visitInt32ToIntPtr. [Phab D314393](https://phabricator.services.mozilla.com/D314393)\n- **V8** Avoided a use-after-move warning in DispatchOffThreadBaselineCompile. [Phab D315285](https://phabricator.services.mozilla.com/D315285)\n- **V8** Imported Test262 coverage for regexp buffer boundaries. [Phab D315025](https://phabricator.services.mozilla.com/D315025)\n- **V8** Added a pref and option for regexp buffer boundary behavior. [Phab D315024](https://phabricator.services.mozilla.com/D315024)\n- **Perf** GC slice budgeting was tuned across eight patches to handle expiry better, avoid wasted concurrent work, and shift more useful marking onto the right thread. [Phab D310035](https://phabricator.services.mozilla.com/D310035)\n- **Perf** GC work now records interrupted slices and removes old integer-millisecond budget APIs. [Phab D313435](https://phabricator.services.mozilla.com/D313435)\n- **Perf** Concurrent marking now avoids yielding after marking when it should keep going. [Phab D313439](https://phabricator.services.mozilla.com/D313439)\n- **Refactor** Shell testing can now observe mark state of shared atoms. [Phab D315240](https://phabricator.services.mozilla.com/D315240)\n\n### Security, networking, storage, and privacy\n- **Security** Rejected chrome: principals in ValidatePrincipalCouldPotentiallyBeLoadedBy. [Phab D312257](https://phabricator.services.mozilla.com/D312257)\n- **Security** Added ValidatePrincipal checks in PServiceWorker. [Phab D313527](https://phabricator.services.mozilla.com/D313527)\n- **Security** Added ValidatePrincipal checks in PServiceWorkerRegistration. [Phab D313528](https://phabricator.services.mozilla.com/D313528)\n- **Security** Added an ownership check when registering a WebSocket event listener. [Phab D312269](https://phabricator.services.mozilla.com/D312269)\n- **Privacy** Android now rejects tabs.create() when private browsing is not allowed. [Phab D311848](https://phabricator.services.mozilla.com/D311848)\n- **Privacy** Added the plumbing for the private flag on tabs.create() on Android. [Phab D311847](https://phabricator.services.mozilla.com/D311847)\n- **Privacy** Android action popups now open in matching private browsing mode. [Phab D311849](https://phabricator.services.mozilla.com/D311849)\n- **Privacy** Added Android tests for extension behavior in private browsing. [Phab D311850](https://phabricator.services.mozilla.com/D311850)\n- **Privacy** Added support for incognito:not_allowed for built-in extensions on Android. [Phab D311851](https://phabricator.services.mozilla.com/D311851)\n- **Privacy** Added a test for tabs.create() failure in private browsing. [Phab D311852](https://phabricator.services.mozilla.com/D311852)\n- **Networking** Migrated multiple TLS and SSL telemetry probes to labeled counters and removed obsolete metrics. [Phab D312184](https://phabricator.services.mozilla.com/D312184)\n- **Networking** Migrated false-start, NPN type, auth algorithm, and curve reporting onto newer TLS-labeled telemetry. [Phab D312185](https://phabricator.services.mozilla.com/D312185)\n- **Networking** Fully supported extmap-allow-mixed in WebRTC. [Phab D283440](https://phabricator.services.mozilla.com/D283440)\n- **Networking** Handled sendonly and recvonly RTP header extensions in WebRTC tests. [Phab D312005](https://phabricator.services.mozilla.com/D312005)\n- **Refactor** Refactored Firefox Accounts OAuth access-token retrieval into FxAccountsOAuth. [Phab D314298](https://phabricator.services.mozilla.com/D314298)\n- **Refactor** Simplified writing new profile preferences. [Phab D315298](https://phabricator.services.mozilla.com/D315298)\n- **Refactor** Cleared stale user pref values when incoming updates flip types. [Phab D315248](https://phabricator.services.mozilla.com/D315248)\n\n### UI, urlbar, sidebar, and desktop behavior\n- **UI** Added a sort menu to the sidebar open tabs panel. [Phab D314728](https://phabricator.services.mozilla.com/D314728)\n- **A11y** Fixed new sidebar Tab navigation so individual history and bookmark items can be focused. [Phab D313049](https://phabricator.services.mozilla.com/D313049)\n- **UI** Fixed the blank strip in DOM fullscreen video for Nova plus vertical tabs with expand-on-hover. [Phab D314720](https://phabricator.services.mozilla.com/D314720)\n- **UI** Increased the urlbar input line-height so the caret can be placed anywhere. [Phab D313373](https://phabricator.services.mozilla.com/D313373)\n- **UI** Fixed autocomplete preview persistence and scroll-up behavior when the pointer leaves the dropdown. [Phab D313831](https://phabricator.services.mozilla.com/D313831)\n- **UI** Restored themed colors for the Focus context menu note on Android. [Phab D315342](https://phabricator.services.mozilla.com/D315342)\n- **UI** Updated Nova icons from acorn-icons upstream on Android. [Phab D315149](https://phabricator.services.mozilla.com/D315149)\n- **UI** Removed the paste option from the Android address bar when the clipboard is empty. [Phab D314965](https://phabricator.services.mozilla.com/D314965)\n- **UI** Prevented a detached tab from entering native fullscreen on initial show on macOS. [Phab D310696](https://phabricator.services.mozilla.com/D310696)\n- **Security** Stopped keeping the requesting browser window alive during a macOS passkey handshake. [Phab D310261](https://phabricator.services.mozilla.com/D310261)\n- **UI** Improved centered icons for Containers UI. [Phab D312648](https://phabricator.services.mozilla.com/D312648)\n- **UI** Removed the selectableProfiles Nimbus feature. [Phab D314541](https://phabricator.services.mozilla.com/D314541)\n- **UI** Let AS Router new tab buttons override their moz-button type. [Phab D314119](https://phabricator.services.mozilla.com/D314119)\n- **UI** Let AS Router new tab messages reformulate content from polled declarative state targeting. [Phab D314120](https://phabricator.services.mozilla.com/D314120)\n- **UI** Aliased openBookmarkedURL to bookmarkAdded and added related extension features. [Phab D312144](https://phabricator.services.mozilla.com/D312144)\n- **Networking** Waited for the update doorhanger panel to fully show before clicking its button in tests. [Phab D314314](https://phabricator.services.mozilla.com/D314314)\n\n### Urlbar and search\n- **Refactor** Gave the content realm one Urlbar actor port and routed the prefs shim through it. [Phab D313984](https://phabricator.services.mozilla.com/D313984)\n- **Security** Opened engine-search Enter through the parent controller so the path is content-safe. [Phab D313798](https://phabricator.services.mozilla.com/D313798)\n- **Refactor** Routed the search mode switcher's engine-page opens over the IPC message path. [Phab D314278](https://phabricator.services.mozilla.com/D314278)\n- **Refactor** Pinned the address bar load target browser at Enter commit time. [Phab D313687](https://phabricator.services.mozilla.com/D313687)\n- **Refactor** Converted pickResult and _loadURL to options-object signatures and made #loadURL private. [Phab D312598](https://phabricator.services.mozilla.com/D312598)\n- **Refactor** Routed the single-word keyword URI fixup check through the parent controller. [Phab D312465](https://phabricator.services.mozilla.com/D312465)\n- **Refactor** Routed display-time URI fixup reads through UrlbarChild. [Phab D312464](https://phabricator.services.mozilla.com/D312464)\n- **Refactor** Extracted urlbar URI fixup-info lookup into UrlbarUtils. [Phab D312463](https://phabricator.services.mozilla.com/D312463)\n- **UI** Waited for the engine store before entering default-engine search mode. [Phab D315267](https://phabricator.services.mozilla.com/D315267)\n- **UI** Waited for the search bar to observe the new default engine in test_switch_engine. [Phab D315239](https://phabricator.services.mozilla.com/D315239)\n- **Refactor** Stopped sending urlbar message-path notifications to a closed window global. [Phab D314273](https://phabricator.services.mozilla.com/D314273)\n- **UI** Re-enabled browser_searchModeSwitcher_basic.js for Nova. [Phab D315122](https://phabricator.services.mozilla.com/D315122)\n- **UI** Moved the pointer off rows before testing result explanations to stabilize urlbar UI tests. [Phab D314844](https://phabricator.services.mozilla.com/D314844)\n- **UI** Added and resolved tests around urlbar bounce disable events and pre-empted triggers. [Phab D314875](https://phabricator.services.mozilla.com/D314875)\n- **UI** Resolved a bounce snapshot before awaiting a pre-empted bounce trigger. [Phab D314874](https://phabricator.services.mozilla.com/D314874)\n\n### Graphics, rendering, layout, and platform integration\n- **Rendering** Rounded in 64 bits in pixman's fast rotate path. [Phab D314824](https://phabricator.services.mozilla.com/D314824)\n- **Rendering** Stopped repeating non-repeating gradients because of rounding artifacts. [Phab D314908](https://phabricator.services.mozilla.com/D314908)\n- **Rendering** Reduced the inline stack size of StyleSharingCandidate. [Phab D315288](https://phabricator.services.mozilla.com/D315288)\n- **Rendering** Improved atom subtable selection after HashString changes. [Phab D314218](https://phabricator.services.mozilla.com/D314218)\n- **Rendering** Avoided large render tasks for non-dashed and non-dotted borders. [Phab D314700](https://phabricator.services.mozilla.com/D314700)\n- **GPU** Added render backend tests for window teardown. [Phab D314936](https://phabricator.services.mozilla.com/D314936)\n- **GPU** Stopped serving a window's documents once its renderer is gone. [Phab D314935](https://phabricator.services.mozilla.com/D314935)\n- **GPU** Added a debug option to initialize renderable textures with opaque pink. [Phab D313977](https://phabricator.services.mozilla.com/D313977)\n- **GPU** Enabled the render target init debugging flag for wrench reftests. [Phab D313978](https://phabricator.services.mozilla.com/D313978)\n- **GPU** Ran wrench on the Pixel 6 in WebRender presets. [Phab D314962](https://phabricator.services.mozilla.com/D314962)\n- **GPU** Added direct Metal API usage in GpuFenceMTLSharedEvent instead of routing through wgpu. [Phab D315019](https://phabricator.services.mozilla.com/D315019)\n- **GPU** Added a GpuFence::ClientWait helper. [Phab D315020](https://phabricator.services.mozilla.com/D315020)\n- **GPU** Synchronized Metal ANGLE WebGL with WebRender using MTLSharedEvent. [Phab D315021](https://phabricator.services.mozilla.com/D315021)\n- **GPU** Disabled some macOS driver bug workarounds on Metal ANGLE. [Phab D315304](https://phabricator.services.mozilla.com/D315304)\n- **Rendering** Used mozilla::Span in LineBreaker. [Phab D314550](https://phabricator.services.mozilla.com/D314550)\n- **Rendering** Kept animation elements alive only while the compositor still refers to them. [Phab D314289](https://phabricator.services.mozilla.com/D314289)\n- **Rendering** Captured wl_display.error messages in wayland-proxy. [Phab D308696](https://phabricator.services.mozilla.com/D308696)\n- **A11y** Switched the RemoteAccessible tree to RefPtr ownership. [Phab D314528](https://phabricator.services.mozilla.com/D314528)\n- **UI** Skipped one OOP iframe autoscroll browser test on Wayland. [Phab D315130](https://phabricator.services.mozilla.com/D315130)\n- **UI** Adjusted annotation for extension popup window autoscroll testing. [Phab D315129](https://phabricator.services.mozilla.com/D315129)\n\n### Media, accessibility, input, and DevTools\n- **Media** Added FFmpeg 63 support to DOM Media. [Phab D314026](https://phabricator.services.mozilla.com/D314026)\n- **Media** Fixed Vulkan Video VP9 decode fallback behavior. [Phab D314176](https://phabricator.services.mozilla.com/D314176)\n- **Media** Synchronized access to CDM proxy state. [Phab D314070](https://phabricator.services.mozilla.com/D314070)\n- **Media** Made the remote media engine initialize only once. [Phab D314069](https://phabricator.services.mozilla.com/D314069)\n- **Media** Re-enabled the Audio Session API on Nightly. [Phab D315078](https://phabricator.services.mozilla.com/D315078)\n- **Media** Avoided holding a suspend inhibitor for a backgrounded video wake lock on GTK. [Phab D314022](https://phabricator.services.mozilla.com/D314022)\n- **Media** Added a gtest for a JXL crash. [Phab D311994](https://phabricator.services.mozilla.com/D311994)\n- **Media** Upgraded jxl-rs to 0.5.1. [Phab D314863](https://phabricator.services.mozilla.com/D314863)\n- **A11y** Made nsFrameSelection::MoveCaret a no-op when the anchor-focus range is outside limiters. [Phab D315133](https://phabricator.services.mozilla.com/D315133)\n- **A11y** Made IMEContentObserver recreation confirm the expected state first. [Phab D315134](https://phabricator.services.mozilla.com/D315134)\n- **UI** Improved newer-ibus sync detection. [Phab D314535](https://phabricator.services.mozilla.com/D314535)\n- **UI** Improved IMContextWrapper logging for Linux IME debugging. [Phab D314536](https://phabricator.services.mozilla.com/D314536)\n- **UI** Made KeymapWrapper::ComputeDOMKeyNameIndex return KEY_NAME_INDEX_USE_STRING in more cases. [Phab D314537](https://phabricator.services.mozilla.com/D314537)\n- **UI** Relaxed eKeyPress dispatch for grapheme-cluster typing. [Phab D314538](https://phabricator.services.mozilla.com/D314538)\n- **UI** Added better support for asynchronous IME handling in ibus before it was backed out. [Phab D314539](https://phabricator.services.mozilla.com/D314539)\n- **DevTools** Stopped skipping browser_toolbox_hosts_size.js on Nova. [Phab D314873](https://phabricator.services.mozilla.com/D314873)\n- **DevTools** Replaced executeSoon() with Services.tm.dispatchToMainThread() in DevTools code. [Phab D315023](https://phabricator.services.mozilla.com/D315023)\n- **UI** Moved a Monitor Agent FE hardcoded string into a local preview file. [Phab D314066](https://phabricator.services.mozilla.com/D314066)\n\n### Build, tooling, Android, and test infrastructure\n- **Build** Added generated-sources coverage for xpcrs rt, bt, and all.rs outputs. [Phab D313970](https://phabricator.services.mozilla.com/D313970)\n- **Build** Resolved NSS dependencies for app-services cargo test. [Phab D292615](https://phabricator.services.mozilla.com/D292615)\n- **Build** Added uniffi-target to encapsulate mach uniffi generate build steps. [Phab D292598](https://phabricator.services.mozilla.com/D292598)\n- **Build** Made uniffi-target build embedded-uniffi-bindgen and the megazord. [Phab D292616](https://phabricator.services.mozilla.com/D292616)\n- **Build** Made mach uniffi generate use uniffi-target for binaries and libraries. [Phab D292617](https://phabricator.services.mozilla.com/D292617)\n- **Build** Gated the megazord behind uniffi-target on non-Android. [Phab D298757](https://phabricator.services.mozilla.com/D298757)\n- **Mobile** Generated Android Kotlin sources from mach uniffi generate. [Phab D292618](https://phabricator.services.mozilla.com/D292618)\n- **Mobile** Added the generated Android sources. [Phab D292619](https://phabricator.services.mozilla.com/D292619)\n- **Build** Wired mozbuild-rustlib through the application-services NSS link chain. [Phab D306609](https://phabricator.services.mozilla.com/D306609)\n- **Build** Pointed Android glean-build at the glean_parser virtualenv. [Phab D313320](https://phabricator.services.mozilla.com/D313320)\n- **Build** Added moz.build infrastructure for assembling macOS app bundles. [Phab D303694](https://phabricator.services.mozilla.com/D303694)\n- **Build** Migrated macOS Info.plist generation to GeneratedFile recipes. [Phab D303695](https://phabricator.services.mozilla.com/D303695)\n- **Build** Assembled macOS .app bundles with MacOSBundle. [Phab D303696](https://phabricator.services.mozilla.com/D303696)\n- **Build** Added a .watchmanconfig to exclude in-tree objdirs. [Phab D314383](https://phabricator.services.mozilla.com/D314383)\n- **Build** Made mach ide vscodium stop opening VS Code. [Phab D315054](https://phabricator.services.mozilla.com/D315054)\n- **Build** Removed firefox.exe hardcoding from make_incremental_updates.sh. [Phab D315041](https://phabricator.services.mozilla.com/D315041)\n- **Perf** Added Fission testing to GeckoView Performance. [Phab D310061](https://phabricator.services.mozilla.com/D310061)\n- **Perf** Disabled Android YTP power tests in the general perf-testing cron. [Phab D314404](https://phabricator.services.mozilla.com/D314404)\n- **Perf** Added Linux Raptor native profiling support. [Phab D306851](https://phabricator.services.mozilla.com/D306851)\n- **Perf** Added transform and Autoland tasks for Speedometer 3 native profiling on Linux. [Phab D306852](https://phabricator.services.mozilla.com/D306852)\n- **Perf** Updated perfdocs for native profiling on Linux. [Phab D306853](https://phabricator.services.mozilla.com/D306853)\n- **Mobile** Migrated Android UI tests into the efficiency framework for open-in-app and translate-page flows. [Phab D314594](https://phabricator.services.mozilla.com/D314594)\n- **Mobile** Fixed Android efficiency UI tests for app icon and translate page submenu flows. [Phab D315274](https://phabricator.services.mozilla.com/D315274)\n- **Mobile** Fixed Android efficiency UI test coverage for translate-page submenu behavior. [Phab D314933](https://phabricator.services.mozilla.com/D314933)\n\n## Reverts \u0026 Reapplies\n- **Web Platform** Reverted two speculation-rules WPT metadata updates after they caused WPT failures. [bug 2054560](https://bugzilla.mozilla.org/show_bug.cgi?id=2054560)\n- **UI** Backed out asynchronous ibus IME handling support after Linux IME crashes. [bug 2051354](https://bugzilla.mozilla.org/show_bug.cgi?id=2051354)\n- **Build** Reverted the Android Kotlin source generation change for mach uniffi generate at developer request. [bug 2033123](https://bugzilla.mozilla.org/show_bug.cgi?id=2033123)\n- **GPU** Reverted one graphics patch after it caused a build bustage in gfxDWriteFontList.cpp. [bug 2054842](https://bugzilla.mozilla.org/show_bug.cgi?id=2054842)\n- **Media** Reverted Audio Session API Nightly enablement after DevTools and mochitest chrome failures, then re-landed it with follow-up fixes. [bug 2055710](https://bugzilla.mozilla.org/show_bug.cgi?id=2055710)\n- **UI** Reverted a Monitor Agent FE string-localization patch after browser chrome failures. [bug 2054529](https://bugzilla.mozilla.org/show_bug.cgi?id=2054529)\n- **Web Platform** Reverted a wrong-bug WPT metadata commit for speculation-rules timeouts. [bug 1968811](https://bugzilla.mozilla.org/show_bug.cgi?id=1968811)",
  "repo": "firefox",
  "repoDisplay": "Firefox",
  "rollGroups": [
    {
      "name": "No",
      "count": 3
    },
    {
      "name": "Merge",
      "count": 1
    }
  ],
  "since": "2026-07-30",
  "totals": {
    "commits": 259,
    "features": 255,
    "rolls": 4
  },
  "until": "2026-07-30"
}