{
  "commits": {
    "072be41a3330": {
      "author": "rperta",
      "avatar": "https://www.gravatar.com/avatar/95787d55656c719bd5b0c6754f5449a3?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "This reverts commit e707ac311a178433076e4f953b049f09f563c9d6.\n\nRevert \"Bug 2052263 - Add windows sharing functionality to share panel. r=jprickett\"\n\nThis reverts commit a1d03e82e8944828f4b45301705534a32a2cd9ae.\n\nRevert \"Bug 2052265 - Add QR code button to share panel. r=jprickett\"\n\nThis reverts commit 4eb65f802a63552142329f37723802aa09cf014a.",
      "email": "rperta@mozilla.com",
      "hash": "072be41a33306faab362e57b67ceb5c7c38266b5",
      "subject": "Revert \"Bug 2052268, Bug 2052263, Bug 2052265 - Toggle share panel button visibility depending on the url. r=jprickett\" for causing bc failures at browser_testSharePanelButtonVisibility.js"
    },
    "416d6aad0511": {
      "author": "rperta",
      "avatar": "https://www.gravatar.com/avatar/95787d55656c719bd5b0c6754f5449a3?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "This reverts commit 838e0b20f403e9a5bff3e2449b051461bd23a7af.\n\nRevert \"Bug 2062119 - Do not dereference gJarHandler after it has been cleared at shutdown. r=necko-reviewers,valentin\"\n\nThis reverts commit 179ffe1f4a08bdaf801d4a2c9d903ac7898b0af7.",
      "email": "rperta@mozilla.com",
      "hash": "416d6aad0511fb060470d521621b08589f2312ec",
      "subject": "Revert \"Bug 2062119 - Clear the jar protocol handler after the JS module loader is gone. r=necko-reviewers,xpcom-reviewers,valentin,nika\" for causing build bustages at nsJARProtocolHandler.cpp"
    },
    "D277173": {
      "author": "Andreas Pehrson",
      "avatar": "https://www.gravatar.com/avatar/906f005aaa08b2d109a3fa9e1b83000d?d=identicon\u0026s=64",
      "cl": "D277173",
      "clUrl": "https://phabricator.services.mozilla.com/D277173",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D277173",
      "email": "apehrson@mozilla.com",
      "hash": "00188974771053ee0b069f76d28e68a454ca72e9",
      "subject": "Bug 1993981 - Store ControlMessages as runnables. r=karlt"
    },
    "D277174": {
      "author": "Andreas Pehrson",
      "avatar": "https://www.gravatar.com/avatar/906f005aaa08b2d109a3fa9e1b83000d?d=identicon\u0026s=64",
      "cl": "D277174",
      "clUrl": "https://phabricator.services.mozilla.com/D277174",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D277174",
      "email": "apehrson@mozilla.com",
      "hash": "73bbfc2af3db17a3c2026ae0c0bb96896fbf5764",
      "subject": "Bug 1993981 - Implement nsIDirectTaskDispatcher for MediaTrackGraphImpl. r=karlt"
    },
    "D277175": {
      "author": "Andreas Pehrson",
      "avatar": "https://www.gravatar.com/avatar/906f005aaa08b2d109a3fa9e1b83000d?d=identicon\u0026s=64",
      "cl": "D277175",
      "clUrl": "https://phabricator.services.mozilla.com/D277175",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D277175",
      "email": "apehrson@mozilla.com",
      "hash": "b6c1a23845f4aea5d0b7f355b96eff91f5ed55db",
      "subject": "Bug 1993981 - Allow canceling cancelable and discardable tail-dispatched runnables. r=xpcom-reviewers,nika"
    },
    "D277176": {
      "author": "Andreas Pehrson",
      "avatar": "https://www.gravatar.com/avatar/906f005aaa08b2d109a3fa9e1b83000d?d=identicon\u0026s=64",
      "cl": "D277176",
      "clUrl": "https://phabricator.services.mozilla.com/D277176",
      "description": "This patch makes MediaTrackGraphImpl implement AbstractThread and its base\ninterface nsISerialEventTarget.\n\nThis allows running nsIRunnables natively on the graph.\n\nTo facilitate runnables that need to run during graph shutdown, the graph will\ncall OnDiscard() on those runnables that QI to nsIDiscardableRunnable and they\nmay run then. Note that runnables dispatched through the nsISerialEventTarget\nand AbstractThread APIs (i.e. Dispatch()) will wrap runnables that don't\nimplement nsIDiscardableRunnable so they run on shutdown by default. This should\navoid silently dropping async tasks from e.g. MozPromise that require settling\nbefore being released.\nDuring shutdown, nsIRunnable's Run() will not be called directly by the graph,\nand all runnables will be processed (OnDiscard() and release) on the main\nthread to guarantee event order consistency.\n\nMessageBlocks are removed, as the graph no longer will manage the batching of\ntasks dispatched from main thread. The main thread's tail dispatcher will manage\nbatching instead, and dispatched per-thread group runnables will enter\nmBackMessageQueue regularly. The same mechanism now works from any thread. Only\nmain thread dispatches affect the graph's lifecycle, however.\n\nFor a non-main thread to dispatch tasks to the graph, it will have to be sure to\nkeep the graph alive. The only guarantee for this is still to hold onto a live\ntrack.\n\nAny thread that is used to dispatch a task to the graph must support tail\ndispatch. While not strictly required for the function of the graph, this\nenforces the old mechanism of running messages from main thread atomically, and\nspreads that behavior to any other thread. It also reduces contention on the\ngraph's Monitor.\n\nDispatching from the graph to any other thread should also use tail dispatch for\nperformance reasons -- e.g dispatching to the busy main thread may suffer from\nlock contention which is not ideal on the real-time audio thread. However,\nenforcing tail dispatch when dispatching *from* the graph thread is not possible\nwithout going through a proxy function. This is by convention for now.\n\nTail dispatch from the graph to the main thread means that the main thread state\nis updated before graph thread to main thread runnables run.\n\nThis requires some child revisions or it may render issues:\n- D277177: to allow non-tail dispatched messages to the graph from the\n           IPC I/O Child for AudioWorklet MessagePorts.\n- D277181: to maintain atomicity between all messages dispatched from a single\n           task on a given thread, as AbstractThread normally closes a target\n           group runnable for new tasks upon tail dispatch to another target.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D277176",
      "email": "apehrson@mozilla.com",
      "hash": "4cdd700b6db0e15dfef7bb54bd3c95ce0c96fcc6",
      "subject": "Bug 1993981 - Implement AbstractThread for MediaTrackGraphImpl. r=karlt"
    },
    "D277177": {
      "author": "Andreas Pehrson",
      "avatar": "https://www.gravatar.com/avatar/906f005aaa08b2d109a3fa9e1b83000d?d=identicon\u0026s=64",
      "cl": "D277177",
      "clUrl": "https://phabricator.services.mozilla.com/D277177",
      "description": "This patch does two things to support AudioWorklet:\n- Supports target shutdown tasks.\n- Exempts the IPC I/O Child thread from the tail dispatch requirement.\n\nThe IPC I/O Child thread does not support tail dispatch, and there are no\nordering requirements between those messages and any from other threads.\n\nPrior to D277176, these messages went through GraphRunner::mThread. It was\ngiven to the MessageChannel opened in the AudioWorklet through\nGetCurrentSerialEventTarget().\n\nDifferential Revision: https://phabricator.services.mozilla.com/D277177",
      "email": "apehrson@mozilla.com",
      "hash": "e85a4933447c6fcae67baf0bcd0673ef5b4b31ad",
      "subject": "Bug 1993981 - In MediaTrackGraphImpl natively support AudioWorklet's message passing. r=karlt"
    },
    "D277178": {
      "author": "Andreas Pehrson",
      "avatar": "https://www.gravatar.com/avatar/906f005aaa08b2d109a3fa9e1b83000d?d=identicon\u0026s=64",
      "cl": "D277178",
      "clUrl": "https://phabricator.services.mozilla.com/D277178",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D277178",
      "email": "apehrson@mozilla.com",
      "hash": "926ffa5b4954d4f336da45d06bd41b62e96d67f0",
      "subject": "Bug 1993981 - To MockProcessedMediaTrack add mocks for {Add|Remove}ListenerImpl. r=karlt"
    },
    "D277179": {
      "author": "Andreas Pehrson",
      "avatar": "https://www.gravatar.com/avatar/906f005aaa08b2d109a3fa9e1b83000d?d=identicon\u0026s=64",
      "cl": "D277179",
      "clUrl": "https://phabricator.services.mozilla.com/D277179",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D277179",
      "email": "apehrson@mozilla.com",
      "hash": "534803c0da0f859187f8de99c33c493930f1fa8b",
      "subject": "Bug 1993981 - Unit test event ordering between the graph and main thread. r=karlt"
    },
    "D277180": {
      "author": "Andreas Pehrson",
      "avatar": "https://www.gravatar.com/avatar/906f005aaa08b2d109a3fa9e1b83000d?d=identicon\u0026s=64",
      "cl": "D277180",
      "clUrl": "https://phabricator.services.mozilla.com/D277180",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D277180",
      "email": "apehrson@mozilla.com",
      "hash": "d8fe367d2f2f5a0822e2a7683a48da85403e01da",
      "subject": "Bug 1993981 - Unit test message atomicity. r=karlt"
    },
    "D277181": {
      "author": "Andreas Pehrson",
      "avatar": "https://www.gravatar.com/avatar/906f005aaa08b2d109a3fa9e1b83000d?d=identicon\u0026s=64",
      "cl": "D277181",
      "clUrl": "https://phabricator.services.mozilla.com/D277181",
      "description": "For MediaTrackGraph to be able to switch its manual batching of control\nmessages to tail dispatch, the message atomicity guarantee it provides needs to\nbe retained. This patch introduces an atomicity mode for tail dispatch to\nsupport the graph.\n\nTo tidy up the AbstractThread API, the old boolean aSupportsTailDispatch flag\npassed at construction is changed to a new TailDispatchPolicy enum. Converting\ncallers which passed that flag is the bulk of the change.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D277181",
      "email": "apehrson@mozilla.com",
      "hash": "4bfa0a6de22b598569a60f5e412d73b930542514",
      "subject": "Bug 1993981 - Introduce an atomicity policy for tail dispatch. r=karlt,xpcom-reviewers,nika,webrtc-reviewers,bwc,media-playback-reviewers"
    },
    "D288112": {
      "author": "Andreas Pehrson",
      "avatar": "https://www.gravatar.com/avatar/906f005aaa08b2d109a3fa9e1b83000d?d=identicon\u0026s=64",
      "cl": "D288112",
      "clUrl": "https://phabricator.services.mozilla.com/D288112",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D288112",
      "email": "apehrson@mozilla.com",
      "hash": "a9e6367bff123ce970325af379707076d843e6d5",
      "subject": "Bug 1993981 - Unit test graph shutdown message ordering. r=karlt"
    },
    "D301275": {
      "author": "Andreas Pehrson",
      "avatar": "https://www.gravatar.com/avatar/906f005aaa08b2d109a3fa9e1b83000d?d=identicon\u0026s=64",
      "cl": "D301275",
      "clUrl": "https://phabricator.services.mozilla.com/D301275",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D301275",
      "email": "apehrson@mozilla.com",
      "hash": "b104d50d22f057c9abfc83c8dbbe9af9d219487b",
      "subject": "Bug 1993981 - Rename MediaTrackGraphImpl::Dispatch to DispatchToMainThread to avoid naming conflicts with nsISerialEventTarget. r=karlt"
    },
    "D305600": {
      "author": "Andreas Pehrson",
      "avatar": "https://www.gravatar.com/avatar/906f005aaa08b2d109a3fa9e1b83000d?d=identicon\u0026s=64",
      "cl": "D305600",
      "clUrl": "https://phabricator.services.mozilla.com/D305600",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D305600",
      "email": "apehrson@mozilla.com",
      "hash": "62b91c19bd49eb052a81969e10a95e96a552b3ed",
      "subject": "Bug 1993981 - Rename MediaTrackGraphImpl::LifecycleStateRef() -\u003e LifecycleState() and return state by value. r=karlt"
    },
    "D310745": {
      "author": "Mike Hommey",
      "avatar": "https://www.gravatar.com/avatar/5d5f37905f36ca9989f88861a702cff3?d=identicon\u0026s=64",
      "cl": "D310745",
      "clUrl": "https://phabricator.services.mozilla.com/D310745",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D310745",
      "email": "mh+mozilla@glandium.org",
      "hash": "945d7476faedbb8185e4df0748ce0b2aafee61df",
      "subject": "Bug 2039416 - Update builders to rustc 1.95. r=firefox-build-system-reviewers,sergesanspaille"
    },
    "D310746": {
      "author": "Mike Hommey",
      "avatar": "https://www.gravatar.com/avatar/5d5f37905f36ca9989f88861a702cff3?d=identicon\u0026s=64",
      "cl": "D310746",
      "clUrl": "https://phabricator.services.mozilla.com/D310746",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D310746",
      "email": "mh+mozilla@glandium.org",
      "hash": "175f50f352a89b2502b09c0364d9011f6f6c1354",
      "subject": "Bug 1977771 - Update builders to clang 22. r=firefox-build-system-reviewers,sergesanspaille"
    },
    "D311430": {
      "author": "Jack Brown",
      "avatar": "https://www.gravatar.com/avatar/9390fad805dd5d2471db8ce47f8d239d?d=identicon\u0026s=64",
      "cl": "D311430",
      "clUrl": "https://phabricator.services.mozilla.com/D311430",
      "description": "This stack migrates the topsites, story-card, and in-content-ad context menus from the custom ContextMenu/LinkMenu component to the reusable panel-list component.\n\nThis is just moving the option-building logic and adding a presentational PanelListItems component so the later panel-list menus can reuse both.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D311430",
      "email": "jbrown@mozilla.com",
      "hash": "ecb88f3d9561283d0c6fe267fc8b4ace21568586",
      "subject": "Bug 2051742 - Extract shared logic/component for panel-list menus - r=maxx"
    },
    "D311431": {
      "author": "Jack Brown",
      "avatar": "https://www.gravatar.com/avatar/9390fad805dd5d2471db8ce47f8d239d?d=identicon\u0026s=64",
      "cl": "D311431",
      "clUrl": "https://phabricator.services.mozilla.com/D311431",
      "description": "This is the migration of the in-content-ad context menus only.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D311431",
      "email": "jbrown@mozilla.com",
      "hash": "1282df2de164e008a4c72a91ea66deb165fc8be1",
      "subject": "Bug 2051742 - Migrate in-content ad context menu to panel-list - r=ini"
    },
    "D311432": {
      "author": "Jack Brown",
      "avatar": "https://www.gravatar.com/avatar/9390fad805dd5d2471db8ce47f8d239d?d=identicon\u0026s=64",
      "cl": "D311432",
      "clUrl": "https://phabricator.services.mozilla.com/D311432",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D311432",
      "email": "jbrown@mozilla.com",
      "hash": "c983f853d3230335a2931c7d537eb6c1ace07877",
      "subject": "Bug 2051742 - Migrate topsites context menu to panel-list - r=maxx,ini"
    },
    "D311433": {
      "author": "Jack Brown",
      "avatar": "https://www.gravatar.com/avatar/9390fad805dd5d2471db8ce47f8d239d?d=identicon\u0026s=64",
      "cl": "D311433",
      "clUrl": "https://phabricator.services.mozilla.com/D311433",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D311433",
      "email": "jbrown@mozilla.com",
      "hash": "ad5afd6f5e039ce096a8b69669ed2a1079658dd2",
      "subject": "Bug 2051742 - Migrate story card context menu to panel-list - r=maxx"
    },
    "D311980": {
      "author": "Jack Brown",
      "avatar": "https://www.gravatar.com/avatar/9390fad805dd5d2471db8ce47f8d239d?d=identicon\u0026s=64",
      "cl": "D311980",
      "clUrl": "https://phabricator.services.mozilla.com/D311980",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D311980",
      "email": "jbrown@mozilla.com",
      "hash": "e77e5cad2b7ae6cd50855af2409cadb59e919f99",
      "subject": "Bug 2051742 - Migrate section context menu to panel-list - r=maxx"
    },
    "D312182": {
      "author": "Jack Brown",
      "avatar": "https://www.gravatar.com/avatar/9390fad805dd5d2471db8ce47f8d239d?d=identicon\u0026s=64",
      "cl": "D312182",
      "clUrl": "https://phabricator.services.mozilla.com/D312182",
      "description": "As I was migrating each component in the stack I noticed they were all implementing the same hide/show listeners on the panel-lists to keep track of their visibility state.\n\nThis patch extracts that common functionality into two new functions in the new file `panel-list-utils.jsx`, including a custom hook for the function components.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D312182",
      "email": "jbrown@mozilla.com",
      "hash": "aa2778e2e44a28d805ae05f5a119fe16af1a74a0",
      "subject": "Bug 2051742 - Extract shared panel-list functions - r=maxx,ini"
    },
    "D313728": {
      "author": "Mark Striemer",
      "avatar": "https://www.gravatar.com/avatar/8407f1551cb10122bad1fc181e6177ac?d=identicon\u0026s=64",
      "cl": "D313728",
      "clUrl": "https://phabricator.services.mozilla.com/D313728",
      "description": "This provides a way to import only some tokens from Figma, either\nthrough the `--match` flag (substring match) or by editing a list of\ntokens that would be imported (default). You can import all tokens by\npassing `--all`.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D313728",
      "email": "mstriemer@mozilla.com",
      "hash": "15e5c3eeb3407b2234c987e21b8cbae8c8490bc9",
      "subject": "Bug 2056688 - Part 1: Support importing a subset of Figma tokens r=desktop-theme-reviewers,tgiles"
    },
    "D316944": {
      "author": "Mike Hommey",
      "avatar": "https://www.gravatar.com/avatar/5d5f37905f36ca9989f88861a702cff3?d=identicon\u0026s=64",
      "cl": "D316944",
      "clUrl": "https://phabricator.services.mozilla.com/D316944",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D316944",
      "email": "mh+mozilla@glandium.org",
      "hash": "33d952f3735bfdc881016ed0d1358c39387d69eb",
      "subject": "Bug 2061170 - Remove the \"$comment\" field cargo 1.97 adds to checksum files. r=firefox-build-system-reviewers,ahochheiden"
    },
    "D317682": {
      "author": "Hubert B Manilla",
      "avatar": "https://www.gravatar.com/avatar/9a8e452716848b046c871e21035b4ea3?d=identicon\u0026s=64",
      "cl": "D317682",
      "clUrl": "https://phabricator.services.mozilla.com/D317682",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D317682",
      "email": "hmanilla@mozilla.com",
      "hash": "cf66f81abbe75da45f94838ec2b96cb0b39c35d7",
      "subject": "Bug 2060500 - [devtools] Add some basic telemetry for the stylesheets in the debugger r=devtools-reviewers,jdescottes"
    },
    "D318649": {
      "author": "Masayuki Nakano",
      "avatar": "https://www.gravatar.com/avatar/900caab146bc7a489b3854cf10acf93f?d=identicon\u0026s=64",
      "cl": "D318649",
      "clUrl": "https://phabricator.services.mozilla.com/D318649",
      "description": "These warnings were used for debugging a test failure at working on\nshadow DOM selection improvements.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D318649",
      "email": "masayuki@d-toybox.com",
      "hash": "14bba1eaeab1a4d7ddf62d4cf90ec9dda54862ad",
      "subject": "Bug 2040597 - Get rid of the warning spam in `Selection::GetComposedRange()` r=jjaschke"
    },
    "D318754": {
      "author": "Andrea Marchesini",
      "avatar": "https://www.gravatar.com/avatar/dfb8d0427dd67216b2664131a5c31421?d=identicon\u0026s=64",
      "cl": "D318754",
      "clUrl": "https://phabricator.services.mozilla.com/D318754",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D318754",
      "email": "amarchesini@mozilla.com",
      "hash": "b93fa90006535b8a7465a2b3d2216d120c7abb74",
      "subject": "Bug 2063048 - introduce a checkbox to manage external URLs and Container tabs r=tgiles,fluent-reviewers,bolsson"
    },
    "D318793": {
      "author": "Mark Striemer",
      "avatar": "https://www.gravatar.com/avatar/8407f1551cb10122bad1fc181e6177ac?d=identicon\u0026s=64",
      "cl": "D318793",
      "clUrl": "https://phabricator.services.mozilla.com/D318793",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D318793",
      "email": "mstriemer@mozilla.com",
      "hash": "5e1e27d2d4cf6f8a1fcb82edd2e00b9cfe6e3ae5",
      "subject": "Bug 2056688 - Part 2: Add support for importing from the Figma cache r=desktop-theme-reviewers,tgiles"
    },
    "D318868": {
      "author": "kpatenio",
      "avatar": "https://www.gravatar.com/avatar/3ba00bb99f41523d041bb1e150ee7de4?d=identicon\u0026s=64",
      "cl": "D318868",
      "clUrl": "https://phabricator.services.mozilla.com/D318868",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D318868",
      "email": "kpatenio@mozilla.com",
      "hash": "01fd74bd119ff3ff19e71bfca93d215b2886d62a",
      "subject": "Bug 2058570 — flush tab state for browser_should_restore_tab.js to address intermittent failures. r=sfoster"
    },
    "D318872": {
      "author": "Matthew Gregan",
      "avatar": "https://www.gravatar.com/avatar/aeea283b2f56b75a7c959ccfb660a619?d=identicon\u0026s=64",
      "cl": "D318872",
      "clUrl": "https://phabricator.services.mozilla.com/D318872",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D318872",
      "email": "kinetik@flim.org",
      "hash": "537b0a3468014e2572feeee1fafbcfce5c7eb9a7",
      "subject": "Bug 2063775 - Vendor latest mp4parse-rust. r=media-playback-reviewers,padenot"
    },
    "D318873": {
      "author": "Matthew Gregan",
      "avatar": "https://www.gravatar.com/avatar/aeea283b2f56b75a7c959ccfb660a619?d=identicon\u0026s=64",
      "cl": "D318873",
      "clUrl": "https://phabricator.services.mozilla.com/D318873",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D318873",
      "email": "kinetik@flim.org",
      "hash": "9096e49b608916c0d837c0b852f256d7c44b14f0",
      "subject": "Bug 2063776 - Update libcubeb to f0bd97db. r=cubeb-reviewers,padenot"
    },
    "D318876": {
      "author": "Timothy Nikkel",
      "avatar": "https://www.gravatar.com/avatar/0646a42110a02dd585f200f270716852?d=identicon\u0026s=64",
      "cl": "D318876",
      "clUrl": "https://phabricator.services.mozilla.com/D318876",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D318876",
      "email": "tnikkel@gmail.com",
      "hash": "597a343ffd7206dbb5ecee8bf9c7e3f2b3121fd9",
      "subject": "Bug 2063409. Update libyuv to 1dac06e8c0442c466b431935a2e385ea07796689. r=chunmin"
    },
    "D319118": {
      "author": "Andrew McCreight",
      "avatar": "https://www.gravatar.com/avatar/0a70c84cd33dba0151fe15f2f8773137?d=identicon\u0026s=64",
      "cl": "D319118",
      "clUrl": "https://phabricator.services.mozilla.com/D319118",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D319118",
      "email": "continuation@gmail.com",
      "hash": "5be4456ec012042e9d9a91286287451062f69ef5",
      "subject": "Bug 2064071 - Add Jan Jaeschke as a DOM peer. r=smaug,shtrom DONTBUILD"
    },
    "D319252": {
      "author": "Daniel Holbert",
      "avatar": "https://www.gravatar.com/avatar/bcdecf9f2f19e9928d7e7e59894913e3?d=identicon\u0026s=64",
      "cl": "D319252",
      "clUrl": "https://phabricator.services.mozilla.com/D319252",
      "description": "This viewBox attribute was unnecessary and slightly counterproductive, so\nit's nicer to just remove it.\n\nThe explicit viewBox was unnecessary because Gecko will automatically\nsynthesize an appropriate viewBox (if the attribute is missing) on the\noutermost SVG element in an SVG image, using the SVG element's declared 'width'\nand 'height' attributes.  So, it's nice for conciseness to benefit from this\nand avoid needing to manually repeat the width and height in two spots on the\nsame element.\n\nThe explicit viewBox was counter-productive because: if we omit it and instead\nallow Gecko to synthesize a viewBox, Gecko will also automatically apply\npreserveAspectRatio=\"none\" *by default*, which is essentially always the\nbehavior we really want our SVG assets to have. On the other hand, if a viewBox\nis explicitly provided on the outermost SVG element, then Gecko uses the SVG\nspec's default `preserveAspectRatio=\"xMidYMid\"` behavior, which is essentially\na \"contain\" constraint and can cause subly unexpected positioning glitches like\nhttps://bugzilla.mozilla.org/show_bug.cgi?id=2063751 in cases where slight\npixel-rounding issues can cause the aspect ratio to be ever-so-slightly off\nfrom the image's natural aspect ratio.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D319252",
      "email": "dholbert@cs.stanford.edu",
      "hash": "393b667091620e84f09929f32c0f6c299d3f7dfd",
      "subject": "Bug 2064177: Remove recently-added viewBox attrs from outer SVG element in SVG assets, so we can benefit from the automatically synthesized one (and get preserveAspectRatio=\"none\" for free). r=sfoster,desktop-theme-reviewers"
    },
    "D319253": {
      "author": "Ben Visness",
      "avatar": "https://www.gravatar.com/avatar/3ef267ebbb5f160ff0810f3787be9a4e?d=identicon\u0026s=64",
      "cl": "D319253",
      "clUrl": "https://phabricator.services.mozilla.com/D319253",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D319253",
      "email": "bvisness@mozilla.com",
      "hash": "bfae3abb1dab1cecf2b035d0aac13a8b6c2601fa",
      "subject": "Bug 2064198: Use release asserts in MIR/LIR casts. r=spidermonkey-reviewers,mgaudet"
    },
    "D319300": {
      "author": "Glenn Watson",
      "avatar": "https://www.gravatar.com/avatar/3d823baa293744dbe3cbe8ce33d77065?d=identicon\u0026s=64",
      "cl": "D319300",
      "clUrl": "https://phabricator.services.mozilla.com/D319300",
      "description": "Bug 2005426 removed SubpixelDirection::Mixed, so rotated and skewed runs fell\nthrough to None and each glyph rounded its pen to a whole device pixel\nindependently. Under a transform that changes slightly each frame, the letters\nof a word pop a pixel at a time.\n\nReinstate Mixed: both axes carry a quarter-pixel offset. The 16 variants pack\ninto one atlas entry selected in the shader, so a glyph costs one texture cache\nentry at 16 times the width rather than 16 entries.\n\nThe new reftest asserts that two rotated runs a quarter of a pixel apart render\ndifferently, which whole-pixel rounding cannot satisfy. References regenerated.\nThree fuzz counts go up slightly: the new sub-pixel positions leave a few more\npixels sitting on an anti-aliasing boundary, each differing by at most one level.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D319300",
      "email": "git@chillybin.org",
      "hash": "f9eecdfcaa0411cfb516a33e588649282057073a",
      "subject": "Bug 2063377 - Restore quarter-pixel glyph positioning for rotated and skewed text r=gfx-reviewers,aosmond"
    }
  },
  "date": "2026-08-18",
  "days": 1,
  "generatedAt": "2026-08-18T22:05:54Z",
  "markdown": "## Highlights\n- **Rendering** Restored quarter-pixel glyph positioning for rotated and skewed text, improving text fidelity in transformed content. [bug 2063377](https://bugzilla.mozilla.org/show_bug.cgi?id=2063377) [Phab D319300](https://phabricator.services.mozilla.com/D319300)\n- **Build** Builders moved to clang 22, keeping Firefox aligned with the current compiler toolchain and unblocking newer diagnostics and codegen improvements. [bug 1977771](https://bugzilla.mozilla.org/show_bug.cgi?id=1977771) [Phab D310746](https://phabricator.services.mozilla.com/D310746)\n- **Build** Builders moved to rustc 1.95, advancing the Rust toolchain used across the tree. [bug 2039416](https://bugzilla.mozilla.org/show_bug.cgi?id=2039416) [Phab D310745](https://phabricator.services.mozilla.com/D310745)\n- **Media** MediaTrackGraph gained native AudioWorklet message passing support as part of a larger threading and dispatch cleanup, tightening media pipeline behavior. [bug 1993981](https://bugzilla.mozilla.org/show_bug.cgi?id=1993981) [Phab D277177](https://phabricator.services.mozilla.com/D277177)\n- **UI** Firefox Home context menus continued their migration to a shared panel-list system, reducing duplication across stories, topsites, ads, and sections. [bug 2051742](https://bugzilla.mozilla.org/show_bug.cgi?id=2051742) [Phab D311980](https://phabricator.services.mozilla.com/D311980)\n- **Privacy** Firefox added a checkbox to control how external URLs interact with Container tabs, giving users more explicit control over tab isolation behavior. [bug 2063048](https://bugzilla.mozilla.org/show_bug.cgi?id=2063048) [Phab D318754](https://phabricator.services.mozilla.com/D318754)\n- **DevTools** The debugger now records basic telemetry for stylesheet usage, giving the team better signal on real-world debugging workflows. [bug 2060500](https://bugzilla.mozilla.org/show_bug.cgi?id=2060500) [Phab D317682](https://phabricator.services.mozilla.com/D317682)\n- **Media** mp4parse-rust and libcubeb were both updated, pulling in upstream parser and audio backend fixes. [bug 2063775](https://bugzilla.mozilla.org/show_bug.cgi?id=2063775) [Phab D318872](https://phabricator.services.mozilla.com/D318872)\n- **V8** SpiderMonkey tightened MIR and LIR casts with release asserts, making compiler invariant failures surface more reliably in production builds. [bug 2064198](https://bugzilla.mozilla.org/show_bug.cgi?id=2064198) [Phab D319253](https://phabricator.services.mozilla.com/D319253)\n\n## What landed by area\n\n### Firefox Home and panels\n- **UI** Extracted shared logic and a shared component for panel-list menus, setting up a single menu system for Firefox Home surfaces. [bug 2051742](https://bugzilla.mozilla.org/show_bug.cgi?id=2051742) [Phab D311430](https://phabricator.services.mozilla.com/D311430)\n- **UI** Extracted shared panel-list helper functions to reduce repeated menu plumbing. [bug 2051742](https://bugzilla.mozilla.org/show_bug.cgi?id=2051742) [Phab D312182](https://phabricator.services.mozilla.com/D312182)\n- **UI** Migrated in-content ad context menus to panel-list. [bug 2051742](https://bugzilla.mozilla.org/show_bug.cgi?id=2051742) [Phab D311431](https://phabricator.services.mozilla.com/D311431)\n- **UI** Migrated topsites context menus to panel-list. [bug 2051742](https://bugzilla.mozilla.org/show_bug.cgi?id=2051742) [Phab D311432](https://phabricator.services.mozilla.com/D311432)\n- **UI** Migrated story card context menus to panel-list. [bug 2051742](https://bugzilla.mozilla.org/show_bug.cgi?id=2051742) [Phab D311433](https://phabricator.services.mozilla.com/D311433)\n- **UI** Migrated section context menus to panel-list, extending the new shared menu stack to another Firefox Home surface. [bug 2051742](https://bugzilla.mozilla.org/show_bug.cgi?id=2051742) [Phab D311980](https://phabricator.services.mozilla.com/D311980)\n- **UI** Added support for importing a subset of Figma tokens, improving theme asset and design token ingestion. [bug 2056688](https://bugzilla.mozilla.org/show_bug.cgi?id=2056688) [Phab D313728](https://phabricator.services.mozilla.com/D313728)\n- **UI** Added support for importing from the Figma cache, making design token workflows less manual. [bug 2056688](https://bugzilla.mozilla.com/show_bug.cgi?id=2056688) [Phab D318793](https://phabricator.services.mozilla.com/D318793)\n- **UI** Removed explicit outer SVG viewBox attributes from assets so synthesized viewBox behavior can provide preserveAspectRatio=\"none\" automatically. [bug 2064177](https://bugzilla.mozilla.org/show_bug.cgi?id=2064177) [Phab D319252](https://phabricator.services.mozilla.com/D319252)\n\n### Media and audio graph\n- **Media** Implemented nsIDirectTaskDispatcher for MediaTrackGraphImpl, part of a substantial dispatch model cleanup. [bug 1993981](https://bugzilla.mozilla.org/show_bug.cgi?id=1993981) [Phab D277174](https://phabricator.services.mozilla.com/D277174)\n- **Media** Allowed canceling cancelable and discardable tail-dispatched runnables, improving shutdown and task lifecycle control. [bug 1993981](https://bugzilla.mozilla.org/show_bug.cgi?id=1993981) [Phab D277175](https://phabricator.services.mozilla.com/D277175)\n- **Media** Implemented AbstractThread for MediaTrackGraphImpl, bringing the graph more in line with Mozilla's threading abstractions. [bug 1993981](https://bugzilla.mozilla.org/show_bug.cgi?id=1993981) [Phab D277176](https://phabricator.services.mozilla.com/D277176)\n- **Media** Added native support for AudioWorklet message passing in MediaTrackGraphImpl. [bug 1993981](https://bugzilla.mozilla.org/show_bug.cgi?id=1993981) [Phab D277177](https://phabricator.services.mozilla.com/D277177)\n- **Media** Extended MockProcessedMediaTrack with AddListenerImpl and RemoveListenerImpl mocks to support deeper testing. [bug 1993981](https://bugzilla.mozilla.org/show_bug.cgi?id=1993981) [Phab D277178](https://phabricator.services.mozilla.com/D277178)\n- **Media** Added unit tests for event ordering between the graph and the main thread. [bug 1993981](https://bugzilla.mozilla.org/show_bug.cgi?id=1993981) [Phab D277179](https://phabricator.services.mozilla.com/D277179)\n- **Media** Added unit tests for message atomicity. [bug 1993981](https://bugzilla.mozilla.org/show_bug.cgi?id=1993981) [Phab D277180](https://phabricator.services.mozilla.com/D277180)\n- **Media** Introduced an atomicity policy for tail dispatch, clarifying ordering guarantees in graph task delivery. [bug 1993981](https://bugzilla.mozilla.org/show_bug.cgi?id=1993981) [Phab D277181](https://phabricator.services.mozilla.com/D277181)\n- **Media** Renamed MediaTrackGraphImpl::Dispatch to DispatchToMainThread to avoid collisions with nsISerialEventTarget naming. [bug 1993981](https://bugzilla.mozilla.org/show_bug.cgi?id=1993981) [Phab D301275](https://phabricator.services.mozilla.com/D301275)\n- **Media** Renamed MediaTrackGraphImpl::LifecycleStateRef() to LifecycleState() and now returns state by value. [bug 1993981](https://bugzilla.mozilla.org/show_bug.cgi?id=1993981) [Phab D305600](https://phabricator.services.mozilla.com/D305600)\n- **Media** Added a unit test for graph shutdown message ordering. [bug 1993981](https://bugzilla.mozilla.org/show_bug.cgi?id=1993981) [Phab D288112](https://phabricator.services.mozilla.com/D288112)\n- **Media** Stored ControlMessages as runnables, simplifying how graph work is queued and processed. [bug 1993981](https://bugzilla.mozilla.org/show_bug.cgi?id=1993981) [Phab D277173](https://phabricator.services.mozilla.com/D277173)\n- **Media** Vendored the latest mp4parse-rust, updating Firefox's MP4 parsing stack. [bug 2063775](https://bugzilla.mozilla.org/show_bug.cgi?id=2063775) [Phab D318872](https://phabricator.services.mozilla.com/D318872)\n- **Media** Updated libcubeb to f0bd97db, pulling in upstream audio backend changes. [bug 2063776](https://bugzilla.mozilla.org/show_bug.cgi?id=2063776) [Phab D318873](https://phabricator.services.mozilla.com/D318873)\n- **Media** Updated libyuv to 1dac06e8c0442c466b431935a2e385ea07796689, refreshing a core video conversion dependency. [bug 2063409](https://bugzilla.mozilla.org/show_bug.cgi?id=2063409) [Phab D318876](https://phabricator.services.mozilla.com/D318876)\n\n### Build and toolchains\n- **Build** Updated builders to clang 22. [bug 1977771](https://bugzilla.mozilla.org/show_bug.cgi?id=1977771) [Phab D310746](https://phabricator.services.mozilla.com/D310746)\n- **Build** Updated builders to rustc 1.95. [bug 2039416](https://bugzilla.mozilla.org/show_bug.cgi?id=2039416) [Phab D310745](https://phabricator.services.mozilla.com/D310745)\n- **Build** Removed the \"$comment\" field that cargo 1.97 adds to checksum files, smoothing compatibility with newer cargo output. [bug 2061170](https://bugzilla.mozilla.org/show_bug.cgi?id=2061170) [Phab D316944](https://phabricator.services.mozilla.com/D316944)\n\n### DOM, layout, and rendering\n- **Rendering** Restored quarter-pixel glyph positioning for rotated and skewed text, improving transformed text rasterization. [bug 2063377](https://bugzilla.mozilla.org/show_bug.cgi?id=2063377) [Phab D319300](https://phabricator.services.mozilla.com/D319300)\n- **Web Platform** Removed warning spam in `Selection::GetComposedRange()`, reducing noisy diagnostics around selection codepaths. [bug 2040597](https://bugzilla.mozilla.org/show_bug.cgi?id=2040597) [Phab D318649](https://phabricator.services.mozilla.com/D318649)\n- **Refactor** Added Jan Jaeschke as a DOM peer, reflecting ownership changes in the platform area. [bug 2064071](https://bugzilla.mozilla.org/show_bug.cgi?id=2064071) [Phab D319118](https://phabricator.services.mozilla.com/D319118)\n\n### DevTools and JavaScript engine\n- **DevTools** Added basic debugger telemetry for stylesheets, giving visibility into how stylesheet debugging is used. [bug 2060500](https://bugzilla.mozilla.org/show_bug.cgi?id=2060500) [Phab D317682](https://phabricator.services.mozilla.com/D317682)\n- **V8** Added release asserts in MIR and LIR casts, hardening SpiderMonkey JIT invariants outside debug-only builds. [bug 2064198](https://bugzilla.mozilla.org/show_bug.cgi?id=2064198) [Phab D319253](https://phabricator.services.mozilla.com/D319253)\n\n### Privacy and browser behavior\n- **Privacy** Added a checkbox for managing how external URLs open with Container tabs, exposing a user-facing control over a privacy-sensitive workflow. [bug 2063048](https://bugzilla.mozilla.org/show_bug.cgi?id=2063048) [Phab D318754](https://phabricator.services.mozilla.com/D318754)\n- **Refactor** Flushed tab state in browser_should_restore_tab.js to address intermittent test failures around session restore. [bug 2058570](https://bugzilla.mozilla.org/show_bug.cgi?id=2058570) [Phab D318868](https://phabricator.services.mozilla.com/D318868)\n\n## Reverts \u0026 Reapplies\n- **UI** Reverted share panel button visibility changes after bc failures in browser_testSharePanelButtonVisibility.js. [bug 2052268](https://bugzilla.mozilla.org/show_bug.cgi?id=2052268)\n- **Networking** Reverted clearing the jar protocol handler after JS module loader teardown because it caused build bustage in nsJARProtocolHandler.cpp. [bug 2062119](https://bugzilla.mozilla.org/show_bug.cgi?id=2062119)",
  "repo": "firefox",
  "repoDisplay": "Firefox",
  "rollGroups": [
    {
      "name": "Merge",
      "count": 1
    },
    {
      "name": "Automatic",
      "count": 1
    },
    {
      "name": "No",
      "count": 1
    }
  ],
  "since": "2026-08-18",
  "totals": {
    "commits": 39,
    "features": 36,
    "rolls": 3
  },
  "until": "2026-08-18"
}