Platform/Roadmap2026: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
(Adding HDR items to Media)
(more 151)
 
(One intermediate revision by the same user not shown)
Line 6: Line 6:
Related Links:
Related Links:
* [https://whattrainisitnow.com/calendar/ Firefox Release Calendar] (future)
* [https://whattrainisitnow.com/calendar/ Firefox Release Calendar] (future)
* [https://developer.mozilla.org/en-US/docs/Mozilla/Firefox/Releases Firefox release notes for developers] (past)<!-- Fx147-149, 150wd-, 151api-... -->
* [https://developer.mozilla.org/en-US/docs/Mozilla/Firefox/Releases Firefox release notes for developers] (past)<!-- Fx147-150, 151addon-... -->
* [https://firefox-source-docs.mozilla.org/contributing/pocket-guide-shipping-firefox.html Pocket Guide: Shipping Firefox]
* [https://firefox-source-docs.mozilla.org/contributing/pocket-guide-shipping-firefox.html Pocket Guide: Shipping Firefox]


Line 24: Line 24:
* units: <code>rcap</code>, <code>rch</code>, <code>rex</code>, <code>ric</code> ([https://bugzil.la/1740584 1740584])
* units: <code>rcap</code>, <code>rch</code>, <code>rex</code>, <code>ric</code> ([https://bugzil.la/1740584 1740584])
* <code>&lt;attr-type&gt;</code> values in <code>attr()</code> function ([https://bugzil.la/1986631 1986631], [https://bugzil.la/1998245 1998245])
* <code>&lt;attr-type&gt;</code> values in <code>attr()</code> function ([https://bugzil.la/1986631 1986631], [https://bugzil.la/1998245 1998245])
* <code>attr()</code> function support namespaced attributes ([https://bugzil.la/2014060 2014060])
* <code>color-mix()</code> function multiple (2+) color arguments ([https://bugzil.la/2007772 2007772], [https://bugzil.la/2024171 2024171])
* <code>color-mix()</code> function multiple (2+) color arguments ([https://bugzil.la/2007772 2007772], [https://bugzil.la/2024171 2024171])
* <code>light-dark()</code> function <code>&lt;image&gt;</code> type for images, gradients ([https://bugzil.la/2023569 2023569])
* <code>light-dark()</code> function <code>&lt;image&gt;</code> type for images, gradients ([https://bugzil.la/2023569 2023569])
Line 32: Line 33:
* <code>revert-rule</code> keyword ([https://bugzil.la/2017307 2017307])
* <code>revert-rule</code> keyword ([https://bugzil.la/2017307 2017307])
* <code>@container</code> <code>style()</code> queries ([https://bugzil.la/2014404 2014404], [https://bugzil.la/2016929 2016929], [https://bugzil.la/2019254 2019254], [https://bugzil.la/2024601 2024601], [https://bugzil.la/2030645 2030645])
* <code>@container</code> <code>style()</code> queries ([https://bugzil.la/2014404 2014404], [https://bugzil.la/2016929 2016929], [https://bugzil.la/2019254 2019254], [https://bugzil.la/2024601 2024601], [https://bugzil.la/2030645 2030645])
** nested <code>style()</code> queries ([https://bugzil.la/2014098 2014098])
* CSS Anchor Positioning ([https://bugzil.la/1988225 1988225])
* CSS Anchor Positioning ([https://bugzil.la/1988225 1988225])
** <code>align-items</code>, <code>align-self</code>, <code>justify-items</code>, <code>justify-self</code>, <code>place-items</code>, and <code>place-self</code> properties support <code>anchor-center</code> value ([https://bugzil.la/1909339 1909339])
** <code>align-items</code>, <code>align-self</code>, <code>justify-items</code>, <code>justify-self</code>, <code>place-items</code>, and <code>place-self</code> properties support <code>anchor-center</code> value ([https://bugzil.la/1909339 1909339])
Line 52: Line 54:
=== CSSOM ===
=== CSSOM ===
* CSS Typed Object Model Level 1 ([https://bugzil.la/1278697 1278697])
* CSS Typed Object Model Level 1 ([https://bugzil.la/1278697 1278697])
* <code>CSSContainerRule.conditions</code> ([https://bugzil.la/2022827 2022827])
* ...
* ...


Line 60: Line 63:
== Rendering ==
== Rendering ==
WebGPU:
WebGPU:
* <code>maxStorageBuffersInFragmentStage</code>, <code>maxStorageBuffersInVertexStage</code>, <code>maxStorageTexturesInFragmentStage</code>, <code>maxStorageTexturesInVertexStage</code> properties on <code>GPUSupportedLimits</code> ([https://bugzil.la/2006720 2006720])
* ...
* ...


Line 83: Line 87:
* <code>CloseWatcher</code> interface ([https://bugzil.la/1966073 1966073])
* <code>CloseWatcher</code> interface ([https://bugzil.la/1966073 1966073])
* <code>CSSFontFaceDescriptors</code> interface ([https://bugzil.la/2019904 2019904])
* <code>CSSFontFaceDescriptors</code> interface ([https://bugzil.la/2019904 2019904])
* <code>customElementRegistry</code> property support <code>Document</code>, <code>Element</code>, <code>ShadowRoot</code> objects ([https://bugzil.la/2018900 2018900])
* <code>Document.caretPositionFromPoint()</code> including argument <code>options.shadowRoots</code> ([https://bugzil.la/1550635 1550635], [https://bugzil.la/1914596 1914596])
* <code>Document.caretPositionFromPoint()</code> including argument <code>options.shadowRoots</code> ([https://bugzil.la/1550635 1550635], [https://bugzil.la/1914596 1914596])
* <code>Document.execCommand()</code> "<code>paste</code>" command in web content ([https://bugzil.la/1998195 1998195])
* <code>Document.execCommand()</code> "<code>paste</code>" command in web content ([https://bugzil.la/1998195 1998195])
Line 96: Line 101:


== APIs ==
== APIs ==
* <code>CanvasRenderingContext2D.lang</code> ([https://bugzil.la/1943070 1943070])
* <code>CompressionStream</code> and <code>DecompressionStream</code> support Brotli compression ([https://bugzil.la/1921583 1921583])
* <code>CompressionStream</code> and <code>DecompressionStream</code> support Brotli compression ([https://bugzil.la/1921583 1921583])
* <code>Document.activeViewTransition</code> property ([https://bugzil.la/2001836 2001836])
* <code>Document.activeViewTransition</code> property ([https://bugzil.la/2001836 2001836])
* Document Picture-in-Picture API ([https://bugzil.la/1858562 1858562])
* Document Picture-in-Picture API ([https://bugzil.la/1858562 1858562], [https://bugzil.la/2006594 2006594])
* HTML Sanitizer API ([https://bugzil.la/1650370 1650370])
* HTML Sanitizer API ([https://bugzil.la/1650370 1650370])
** <code>setHTML()</code>
** <code>setHTML()</code>
Line 105: Line 111:
** <code>NavigationPrecommitController.addHandler()</code> ([https://bugzil.la/2009004 2009004])
** <code>NavigationPrecommitController.addHandler()</code> ([https://bugzil.la/2009004 2009004])
* <code>options.resizeQuality</code> parameter support in <code>Window.createImageBitmap()</code> and <code>WorkerGlobalScope.createImageBitmap()</code> ([https://bugzil.la/2010125 2010125])
* <code>options.resizeQuality</code> parameter support in <code>Window.createImageBitmap()</code> and <code>WorkerGlobalScope.createImageBitmap()</code> ([https://bugzil.la/2010125 2010125])
* <code>options.keyboardLock</code> property supported option in <code>Element.requestFullscreen()</code> ([https://bugzil.la/2032302 2032302]), AKA "Fullscreen Keyboard Lock" ([https://bugzil.la/700123 700123])
* <code>pointerrawupdate</code> event <code>movementX</code> and <code>movementY</code> properties ([https://bugzil.la/1987671 1987671])
* <code>pointerrawupdate</code> event <code>movementX</code> and <code>movementY</code> properties ([https://bugzil.la/1987671 1987671])
* Reporting API ([https://bugzil.la/1976074 1976074], [https://bugzil.la/2008916 2008916])
* Reporting API ([https://bugzil.la/1976074 1976074], [https://bugzil.la/2008916 2008916])
Line 112: Line 119:


Add-on gated:
Add-on gated:
* WebSerial API ([https://bugzil.la/926940 926940])
* WebSerial API ([https://bugzil.la/926940 926940], [https://bugzil.la/2029625 2029625])
* ...
* ...


Line 121: Line 128:


=== WebDriver ===
=== WebDriver ===
* <code>altitudeAngle</code> and <code>azimuthAngle</code> to pointer actions of subtype <code>touch</code> ([https://bugzil.la/2022644 2022644])
* <code>browser.setClientWindowState</code> ([https://bugzil.la/1855028 1855028])
* <code>browser.setDownloadBehavior</code> command ([https://bugzil.la/1989022 1989022])
* <code>browser.setDownloadBehavior</code> command ([https://bugzil.la/1989022 1989022])
* <code>browsingContext.getTree</code> command now accepts the vendor specific <code>moz:scope</code> ([https://bugzil.la/1944568 1944568], [https://bugzil.la/1944570 1944570])
* <code>browsingContext.getTree</code> command now accepts the vendor specific <code>moz:scope</code> ([https://bugzil.la/1944568 1944568], [https://bugzil.la/1944570 1944570])
* <code>input.fileDialogOpened</code> event ([https://bugzil.la/1855045 1855045])
* <code>input.fileDialogOpened</code> event ([https://bugzil.la/1855045 1855045])
* <code>emulation.setScreenSettingsOverride</code> command ([https://bugzil.la/2000651 2000651])
* <code>emulation.setScreenSettingsOverride</code> command ([https://bugzil.la/2000651 2000651])
* <code>emulation.setNetworkConditions</code> command ([https://bugzil.la/1993079 1993079])
* <code>script.realmCreated</code> and <code>script.realmDestroyed</code> events ([https://bugzil.la/1936770 1936770])
* <code>script.realmCreated</code> and <code>script.realmDestroyed</code> events ([https://bugzil.la/1936770 1936770])
* <code>script.getRealms</code> command support worker realms ([https://bugzil.la/2016097 2016097])
* ...
* ...


Line 167: Line 178:
== Prototyping ==
== Prototyping ==
We have plans to prototype the following but no commitment (nor official "intent") to ship yet. Alphabetical, no indication of ordering of implementation or consideration for shipping.
We have plans to prototype the following but no commitment (nor official "intent") to ship yet. Alphabetical, no indication of ordering of implementation or consideration for shipping.
* Fullscreen Keyboard Lock ([https://bugzil.la/700123 700123])
* ...
* ...


Add-on gated:
Add-on gated:
* WebUSB API ([https://bugzil.la/2022432 2022432])
* Web Bluetooth API ([https://bugzil.la/2022433 2022433])
* Web Bluetooth API ([https://bugzil.la/2022433 2022433])
* WebUSB API ([https://bugzil.la/2022432 2022432])
* ...
* ...



Latest revision as of 23:59, 18 June 2026

Platform 2026 Roadmap

Warning signWarning: This is page is actively in-progress and is incomplete.

Related Links:

These are areas of work planned for Gecko in 2026 for the Web Platform.

For current web platform documentation of these areas, see the subsections at:

HTML

  • popover=hint (1867743)
  • alpha & colorspace attributes in <input type=color>; elements (1919718)
  • shadowrootslotassignment attribute on <template> (2031295, 2023824)
  • <img sizes=auto> (1819581)
  • ...

CSS

  • units: rcap, rch, rex, ric (1740584)
  • <attr-type> values in attr() function (1986631, 1998245)
  • attr() function support namespaced attributes (2014060)
  • color-mix() function multiple (2+) color arguments (2007772, 2024171)
  • light-dark() function <image> type for images, gradients (2023569)
  • shape() function on by default (1982941)
  • :buffering, :muted, :paused, :playing, :seeking, :stalled, :volume-locked allow you to style <audio> <video> elements (1707584, 2014512, 2020775)
  • ::before and ::after on replaced elements (1931309)
  • ::marker pseudo-element support counter-increment, counter-reset, counter-set, quotes properties (2000404)
  • revert-rule keyword (2017307)
  • @container style() queries (2014404, 2016929, 2019254, 2024601, 2030645)
  • CSS Anchor Positioning (1988225)
    • align-items, align-self, justify-items, justify-self, place-items, and place-self properties support anchor-center value (1909339)
    • position-anchor: none (1999972)
    • position-anchor: normal (2030351)
  • overflow, overflow-x, overflow-y properties supported on replaced elements (1999100)
  • overscroll-behavior, overscroll-behavior-x, overscroll-behavior-y, overscroll-behavior-block, and overscroll-behavior-inline apply to scroll containers that have no scrollable overflow (1837436)
  • position-try-order (2008537)
  • shape-outside property support xywh() and rect() functions (1983187)
  • vertical-align as shorthand property for alignment-baseline, baseline-shift, and baseline-source properties (1830771)
  • CSS properties and rendering of <fieldset> and <legend> (1935129)
    • margins, generated content, custom display values
  • View transition types (2001878)
  • ...

WebCompat:

  • -webkit-perspective property (1362499)
  • ...

CSSOM

  • CSS Typed Object Model Level 1 (1278697)
  • CSSContainerRule.conditions (2022827)
  • ...

SVG

  • SVG URL media fragments (1999989)
  • ...

Rendering

WebGPU:

  • maxStorageBuffersInFragmentStage, maxStorageBuffersInVertexStage, maxStorageTexturesInFragmentStage, maxStorageTexturesInVertexStage properties on GPUSupportedLimits (2006720)
  • ...

Media

  • JPEG XL Rust decoder prototype (1986393)

Media-related APIs like WebRTC

  • HTMLMediaElement.captureStream() (2017708)
  • RTCError and RTCErrorEvent (1814459)
  • RTCIceTransport.role (2018843)
  • RTCPeerConnectionIceErrorEvent and RTCPeerConnection.icecandidateerror event (1561441)
  • WebRTC MediaStreamTrackProcessor (1749532)
  • WebRTC VideoTrackGenerator (1749533)
  • HDR Video on Windows (2012848)
  • HDR Video on Linux (1642854)

DOM

  • more characters for element and attribute names in methods (1773312)
    • Document.createAttribute(), Document.createAttributeNS(), Document.createElement(), Document.createElementNS()
    • Element.toggleAttribute(), Element.setAttribute(), Element.setAttributeNS()
    • DOMImplementation.createDocument()
    • customElements.define(), customElements.whenDefined()
  • ariaNotify() method on Document and Element (2018095)
  • CloseWatcher interface (1966073)
  • CSSFontFaceDescriptors interface (2019904)
  • customElementRegistry property support Document, Element, ShadowRoot objects (2018900)
  • Document.caretPositionFromPoint() including argument options.shadowRoots (1550635, 1914596)
  • Document.execCommand() "paste" command in web content (1998195)
  • HTMLSelectElement.showPicker() support list of options in <datalist> (1998668)
  • ...

JS

  • CSS module scripts (1986681)
  • islamic-umalqura calendar support in Intl (2011505)
  • Iterator.concat() method (1986672)
  • Iterator.zip() and Iterator.zipKeyed() static methods (2003333)
  • ...

APIs

  • CanvasRenderingContext2D.lang (1943070)
  • CompressionStream and DecompressionStream support Brotli compression (1921583)
  • Document.activeViewTransition property (2001836)
  • Document Picture-in-Picture API (1858562, 2006594)
  • HTML Sanitizer API (1650370)
    • setHTML()
  • Location.ancestorOrigins property (1085214)
  • Navigation API (1997962)
    • NavigationPrecommitController.addHandler() (2009004)
  • options.resizeQuality parameter support in Window.createImageBitmap() and WorkerGlobalScope.createImageBitmap() (2010125)
  • options.keyboardLock property supported option in Element.requestFullscreen() (2032302), AKA "Fullscreen Keyboard Lock" (700123)
  • pointerrawupdate event movementX and movementY properties (1987671)
  • Reporting API (1976074, 2008916)
    • CSPViolationReport and IntegrityViolationReport objects using a ReportingObserver, can be filtered on type "csp-violation" or "integrity-violation"
  • Trusted Types API (1994690)
  • ...

Add-on gated:

Add-ons

  • split view support (1993037)
  • tabId parameter support in action.isEnabled and browserAction.isEnabled (2013477)
  • ...

WebDriver

  • altitudeAngle and azimuthAngle to pointer actions of subtype touch (2022644)
  • browser.setClientWindowState (1855028)
  • browser.setDownloadBehavior command (1989022)
  • browsingContext.getTree command now accepts the vendor specific moz:scope (1944568, 1944570)
  • input.fileDialogOpened event (1855045)
  • emulation.setScreenSettingsOverride command (2000651)
  • emulation.setNetworkConditions command (1993079)
  • script.realmCreated and script.realmDestroyed events (1936770)
  • script.getRealms command support worker realms (2016097)
  • ...

Marionette:

  • Reporting:GenerateTestReport command (1909662)
  • implicit and pageLoad timeouts supported in line with script timeout; null values to disable the timeouts (2008345)
  • ...

Protocols

HTTP

  • ...

Security

  • ...

Interop

Interop 2026 (2018559)

Interop Focus Areas for implementation:

Prototyping

We have plans to prototype the following but no commitment (nor official "intent") to ship yet. Alphabetical, no indication of ordering of implementation or consideration for shipping.

  • ...

Add-on gated:

Specifications and Notes

Edit and publish new and updated specifications and notes. See Standards for our ongoing work in this area.

  • ...

See Also