files/en-us/mozilla/firefox/releases/144/index.md
This article provides information about the changes in Firefox 144 that affect developers. Firefox 144 was released on October 14, 2025.
command and commandfor attributes of the {{htmlelement("button")}} element are now supported. The command attribute lets you define the action to perform, and the commandfor attribute lets you associate the button with another element that the command acts on. The command can be a predefined value such as close or a custom value defined by you. (Firefox bug 1983523).mathml.stixgeneral_operator_stretching.disabled has also been removed. (Firefox bug 1336058).getOrInsert() inserts and returns an element for the key and a given default value, while getOrInsertComputed() inserts and returns a value computed in a supplied callback function. (Firefox bug 1979917).lock() and unlock() methods of the {{domxref("ScreenOrientation")}} interface are now supported for Android and for Windows tablets. (Firefox bug 1983483).CSS2Properties). The new interface is present but not yet used. (Firefox bug 1919582).javascript. Calling navigate() with a javascript: URL now throws a NotSupportedError exception. (Firefox bug 1981104).moveBefore() method is now supported on the {{domxref("Element.moveBefore()","Element")}}, {{domxref("DocumentFragment.moveBefore()","DocumentFragment")}} and {{domxref("Document.moveBefore()","Document")}} interfaces. This allows moving of an immediate child element of the object, before another of its child elements. Unlike with {{domxref("Node.insertBefore()")}}, moved elements retain their state. (Firefox bug 1983688).window.top.location.
See Top navigation in cross-origin frames for more information. (Firefox bug 1419501).closing event and the onclosing() event handler are now supported on the {{domxref("RTCDataChannel")}} interface. (Firefox bug 1611953).resizeMode constraint.
This constraint allows developers to request video that matches other constraints, such as resolution and frame rate, even if the requested constraints are not supported by the underlying hardware.
The browser may then crop, downscale, or reduce the frame rate of the video captured from a camera, or downscale (but not crop) the video captured from a screen or window. (Firefox bug 1286945).afterscriptexecute event and beforescriptexecute event of the Document interface, and the afterscriptexecute event and beforescriptexecute event of the Element interface. (Firefox bug 1584269).Implemented the new browsingContext.downloadWillBegin event, which is emitted when a new download is initiated, either by clicking a link with the download attribute, or in response to a network request with a Content-Disposition header indicating a file attachment. (Firefox bug 1874365).
Implemented the new emulation.setScreenOrientationOverride command, which allows clients to emulate different screen orientations. This command is not limited to mobile devices, but also works for desktop applications. (Firefox bug 1974167).
Implemented the new emulation.setTimezoneOverride command, which allows clients to simulate a specific timezone setting. (Firefox bug 1978027).
Enhanced the emulation.setLocaleOverride command to also apply the specified settings to sandboxes previously created via WebDriver BiDi. (Firefox bug 1983807).
Fixed a bug where the locale override set via emulation.setLocaleOverride was sometimes incorrectly shared between different browsing contexts within the same process. (Firefox bug 1980211).
Enhanced the browsingContext.navigate command to avoid NS_BINDING_ABORTED errors caused by redirects or interruptions occurring after the navigation was already committed. (Firefox bug 1914407).
Scroll Into View WebDriver algorithm as used by several WebDriver classic commands in Marionette to always use the instant scroll behavior. This undoes the change introduced in Firefox 97, which had switched the behavior to auto. The reversion addresses potential race conditions when scrolling elements that use smooth behavior. (Firefox bug 1986238)."content_scripts" manifest key, in {{WebExtAPIRef("scripting.registerContentScripts()")}} with the cssOrigin property on {{WebExtAPIRef("scripting.RegisteredContentScript")}}, and the cssOrigin property in {{WebExtAPIRef("contentScripts.register")}}. The style origin can be "user", to add the CSS as a user stylesheet, or "author", to add it as an author stylesheet. Default, to the "author" origin. These properties are case-insensitive. In addition, the value of the origin property of {{WebExtAPIRef("scripting.insertCSS()")}} is now case insensitive. (Firefox bug 1679997).These features are shipping in Firefox 144 but are disabled by default.
To experiment with them, search for the appropriate preference on the about:config page and set it to true.
You can find more such features on the Experimental features page.
Time picker in datetime-local and time input elements: dom.forms.datetime.timepicker.
The HTML <input type="datetime-local"> and <input type="time"> elements support a time picker. (Firefox bug 1726108).
:heading(): layout.css.heading-selector.enabled
The :heading() functional pseudo-class now has a much simpler syntax that takes a comma-separated list of integers that match the heading level. (Firefox bug 1974386 & Firefox bug 1984310).