Platform/Roadmap2025: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
(note)
 
(One intermediate revision by the same user not shown)
Line 1: Line 1:
{{stub}}
<span style="float:right">__TOC__</span>
<span style="float:right">__TOC__</span>
=Platform 2025 Roadmap=
=Platform 2025 Roadmap=
{{note|This page has in-progress sections.}}


Related Links:
Related Links:
Line 20: Line 18:
* <code>hidden=until-found</code> ([https://bugzil.la/1761043 1761043], [https://bugzil.la/1955379 1955379])
* <code>hidden=until-found</code> ([https://bugzil.la/1761043 1761043], [https://bugzil.la/1955379 1955379])
* <code><nowiki><script type=importmap></nowiki></code> support <code>integrity</code> key ([https://bugzil.la/1945540 1945540])
* <code><nowiki><script type=importmap></nowiki></code> support <code>integrity</code> key ([https://bugzil.la/1945540 1945540])
* ...


== CSS ==
== CSS ==
Line 38: Line 35:
** <code>::view-transition</code>, <code>::view-transition-group()</code>, <code>::view-transition-image-pair()</code>, <code>::view-transition-new()</code>, <code>::view-transition-old()</code> pseudo-classes
** <code>::view-transition</code>, <code>::view-transition-group()</code>, <code>::view-transition-image-pair()</code>, <code>::view-transition-new()</code>, <code>::view-transition-old()</code> pseudo-classes
** <code>view-transition-class</code> and <code>view-transition-name</code> properties
** <code>view-transition-class</code> and <code>view-transition-name</code> properties
**
* ...


=== CSSOM ===
=== CSSOM ===
* <code>Highlight</code> & <code>HighlightRegistry</code> ([https://bugzil.la/1964089 1964089])
* <code>Highlight</code> & <code>HighlightRegistry</code> ([https://bugzil.la/1964089 1964089])
* ...


== SVG ==
== SVG ==
* <code>fetchpriority</code> attribute ([https://bugzil.la/1847712 1847712])
* <code>fetchpriority</code> attribute ([https://bugzil.la/1847712 1847712])
* <code>SVGPathElement</code> methods <code>getPathData()</code>, <code>setPathData()</code>, <code>getPathSegmentAtLength()</code> ([https://bugzil.la/1945312 1945312])
* <code>SVGPathElement</code> methods <code>getPathData()</code>, <code>setPathData()</code>, <code>getPathSegmentAtLength()</code> ([https://bugzil.la/1945312 1945312])
* ...


== Rendering ==
== Rendering ==
* WebGPU shipping on Windows in H1, Mac and Linux in H2.
WebGPU:
* WebGPU external textures ([https://bugzil.la/1979100 1979100])
* Ship on Windows in H1, Mac and Linux in H2.
* ...
* External textures ([https://bugzil.la/1979100 1979100])


== Media ==
== Media ==
Line 67: Line 60:
* WebCodecs support on Android.
* WebCodecs support on Android.
* Platform hardware support for video encoding.
* Platform hardware support for video encoding.
* ...


== DOM ==
== DOM ==
Line 82: Line 74:
*  Prioritized Task Scheduling API ([https://bugzil.la/1966997 1966997])
*  Prioritized Task Scheduling API ([https://bugzil.la/1966997 1966997])
* <code>Selection.getComposedRanges()</code> ([https://bugzil.la/1903870 1903870])
* <code>Selection.getComposedRanges()</code> ([https://bugzil.la/1903870 1903870])
* ...


== JS ==
== JS ==
Line 96: Line 87:
* Temporal API ([https://bugzil.la/1912511 1912511], [https://bugzil.la/1946823 1946823], [https://bugzil.la/1954138 1954138])
* Temporal API ([https://bugzil.la/1912511 1912511], [https://bugzil.la/1946823 1946823], [https://bugzil.la/1954138 1954138])
* <code>variants</code> accessor on <code>Intl.Locale</code> instances ([https://bugzil.la/1970161 1970161])
* <code>variants</code> accessor on <code>Intl.Locale</code> instances ([https://bugzil.la/1970161 1970161])
* ...


== APIs ==
== APIs ==
Line 114: Line 104:
* Web Authentication extensions: <code>largeBlob</code> ([https://bugzil.la/1795020 1795020]), <code>credProps</code> ([https://bugzil.la/1844449 1844449]), <code>prf</code> ([https://bugzil.la/1935280 1935280])
* Web Authentication extensions: <code>largeBlob</code> ([https://bugzil.la/1795020 1795020]), <code>credProps</code> ([https://bugzil.la/1844449 1844449]), <code>prf</code> ([https://bugzil.la/1935280 1935280])
* WebGPU API support on Windows ([https://bugzil.la/1972486 1972486])
* WebGPU API support on Windows ([https://bugzil.la/1972486 1972486])
* ...


=== Add-ons ===
=== Add-ons ===
Line 127: Line 116:
** <code>groupId</code> to <code>tabs.Tab</code> ([https://bugzil.la/1959713 1959713]), <code>tabs.query</code> ([https://bugzil.la/1959715 1959715]), <code>tabs.onUpdated</code> ([https://bugzil.la/1959716 1959716])
** <code>groupId</code> to <code>tabs.Tab</code> ([https://bugzil.la/1959713 1959713]), <code>tabs.query</code> ([https://bugzil.la/1959715 1959715]), <code>tabs.onUpdated</code> ([https://bugzil.la/1959716 1959716])
* <code>webRequest.handlerBehaviorChanged</code> ([https://bugzil.la/1657575 1657575])
* <code>webRequest.handlerBehaviorChanged</code> ([https://bugzil.la/1657575 1657575])
* ...


=== WebDriver ===
=== WebDriver ===
Line 149: Line 137:
* <code>webExtension.install</code> ([https://bugzil.la/1934551 1934551])  
* <code>webExtension.install</code> ([https://bugzil.la/1934551 1934551])  
* <code>webExtension.uninstall</code> ([https://bugzil.la/1934553 1934553])
* <code>webExtension.uninstall</code> ([https://bugzil.la/1934553 1934553])
* ...
 
Marionette:
Marionette:
* <code>Addon:Install</code> & <code>Addon:Uninstall</code> commands support for [[GeckoView]] ([https://bugzil.la/1806135 1806135])
* <code>Addon:Install</code> & <code>Addon:Uninstall</code> commands support for [[GeckoView]] ([https://bugzil.la/1806135 1806135])
* CHIPS cookies (Cookies Having Independent Partitioned State) support ([https://bugzil.la/1972830 1972830])
* CHIPS cookies (Cookies Having Independent Partitioned State) support ([https://bugzil.la/1972830 1972830])
* ...


== Protocols ==
== Protocols ==
Line 161: Line 148:
* <code>Clear-Site-Data: cache</code> ([https://bugzil.la/1942272 1942272], [https://bugzil.la/1930500 1930500])
* <code>Clear-Site-Data: cache</code> ([https://bugzil.la/1942272 1942272], [https://bugzil.la/1930500 1930500])
* <code>Origin-Agent-Cluster</code> ([https://bugzil.la/1665474 1665474])
* <code>Origin-Agent-Cluster</code> ([https://bugzil.la/1665474 1665474])
* ...


== Security ==
== Security ==
* Certificate Transparency supported ([https://bugzil.la/1938242 1938242])
* Certificate Transparency supported ([https://bugzil.la/1938242 1938242])
* ...


== Related Projects ==
== Interop ==
* [https://wpt.fyi/interop-2025 Interop 2025]
[https://wpt.fyi/interop-2025 Interop 2025] ([https://bugzil.la/1948691 1948691])
** Our announcement blog post: https://hacks.mozilla.org/2025/02/interop-2025/
* Our announcement blog post: https://hacks.mozilla.org/2025/02/interop-2025/
* ...
Interop Focus Areas for implementation:
* [https://bugzil.la/1948267 1948267]: Writing Modes
* [https://bugzil.la/1948268 1948268]: CSS Anchor Positioning
* [https://bugzil.la/1948271 1948271]: Scope
* [https://bugzil.la/1948275 1948275]: Navigation API
* [https://bugzil.la/1948278 1948278]: backdrop-filter
* [https://bugzil.la/1948280 1948280]: Storage Access API
* [https://bugzil.la/1948289 1948289]: details element
* [https://bugzil.la/1948294 1948294]: View Transitions
* [https://bugzil.la/1948295 1948295]: URLPattern
* [https://bugzil.la/1948300 1948300]: WebRTC
* [https://bugzil.la/1948302 1948302]: Web Compat
* [https://bugzil.la/1948305 1948305]: Modules
* [https://bugzil.la/1948307 1948307]: text-decoration
* [https://bugzil.la/1948310 1948310]: WebAssembly
* [https://bugzil.la/1951741 1951741]: Layout


== Specifications and Notes ==
== Specifications and Notes ==

Latest revision as of 03:12, 2 October 2025

Platform 2025 Roadmap

Related Links:

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

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

HTML

CSS

  • :has-slotted pseudo-class (1940691)
  • :open pseudo-class (1936113)
  • ::details-content pseudo-element (1901037)
  • ::highlight pseudo-element (1964089)
  • ::marker with before and after pseudo-elements, e.g. ::before::marker and ::after::marker (1980215)
  • align-self, justify-self, place-self support for absolutely positioned elements (1920160)
  • font-variant-emoji (1954214)
  • hyphenate-limit-chars (1521723, 1947183)
  • linear-gradient(), conic-gradient(), radial-gradient() support single color stop and 0-1 positions (1900530)
  • text-autospace (1869577)
  • text-decoration-line:spelling-error and grammar-error (1950844)
  • view transitions features (1985809)
    • :active-view-transition pseudo-class
    • ::view-transition, ::view-transition-group(), ::view-transition-image-pair(), ::view-transition-new(), ::view-transition-old() pseudo-classes
    • view-transition-class and view-transition-name properties

CSSOM

  • Highlight & HighlightRegistry (1964089)

SVG

  • fetchpriority attribute (1847712)
  • SVGPathElement methods getPathData(), setPathData(), getPathSegmentAtLength() (1945312)

Rendering

WebGPU:

  • Ship on Windows in H1, Mac and Linux in H2.
  • External textures (1979100)

Media

  • HEVC (H.265) hardware support on Android, and hardware and software support on Linux (1950032)
  • RTCIceCandidatePairStats properties currentRoundTripTime, totalRoundTripTime, and responsesReceived properties (1371391)
  • RTCInboundRtpStreamStats properties estimatedPlayoutTimestamp, framesAssembledFromMultiplePackets, freezeCount, jitterBufferMinimumDelay, jitterBufferTargetDelay, keyFramesDecoded, pauseCount, totalAssemblyTime, totalFreezesDuration, and totalPausesDuration properties (1926622)
  • RTCOutboundRtpStreamStats properties mid & rid (1643001)
  • WebRTC send and receive video encoded using AV1 codec - (1932065, 1944878)
  • WebRTC simulcast of screen-shared video with H264 (1210175) and VP8 (1692873) codecs
  • WebRTC support Dependency Descriptor (DD) RTP Header Extension (1945261)
  • Support for downscaling and decimated frame rates.
  • SVC support for desktop.
  • WebCodecs support on Android.
  • Platform hardware support for video encoding.

DOM

  • < and > escaping in serialized HTML attributes (1962084)
    • Element.innerHTML, Element.outerHTML, Element.getHTML(), ShadowRoot.innerHTML, ShadowRoot.getHTML()
  • Animation.overallProgress (1834878)
  • beforematch event (1761043, 1955379)
  • HTML Sanitizer API - (1950605, 1952250)
  • HTMLDialogElement support requestClose() method (1960556), closedBy attribute (1964078)
  • HTMLElement.autocorrect (1725806)
  • HTMLElement showPopover() and togglePopover() methods support options.source, togglePopover() supports force and options.force argument (1936411)
  • moveBefore() on the Element, DocumentFragment, Document (1983688)
  • pointerrawupdate event (1550462)
  • Prioritized Task Scheduling API (1966997)
  • Selection.getComposedRanges() (1903870)

JS

APIs

  • Cookie Store API (1958875)
    • CookieStore, Window.cookieStore, ServiceWorkerGlobalScope.cookieStore, change event & CookieChangeEvent,
  • IntersectionObserver support scrollMargin property (1860030)
  • Login Status API with Federated Credential Management (FedCM) API (1945573, 1945576)
  • Notification.actions (1225110)
  • PerformanceEventTiming.interactionId (1934683)
  • PointerEvent support persistentDeviceId property (1968400)
  • PublicKeyCredential.getClientCapabilities() (1884466)
  • resizeMode on getUserMedia() and getDisplayMedia() methods of MediaDevices (1286945)
  • RTCCertificate support getFingerprints() method (1525241)
  • RTCDataChannel support closing event and onclosing() event handler (1611953)
  • URL Pattern API (1731418)
  • View Transition API (1950759, 1985809)
  • Web Authentication extensions: largeBlob (1795020), credProps (1844449), prf (1935280)
  • WebGPU API support on Windows (1972486)

Add-ons

  • cookies.SameSiteStatus support unspecified (1550032)
  • json resource type in webRequest.ResourceType & declarativeNetRequest.ResourceType (1858078, 1950836)
  • Manifest V3 extensions:
    • menus.ContextType support page_action (1951166)
    • userScripts API on Android - (1949955)
    • ...
  • tabGroups (1940631):
  • webRequest.handlerBehaviorChanged (1657575)

WebDriver

  • browser.createUserContext command support acceptInsecureCerts (1959372), proxy (1967653)
  • browser.getClientWindows command (1855025)
  • browsingContext.historyUpdated event (1906051)
  • browsingContext.Info type support clientWindow property (1920952)
  • browsingContext.navigationCommitted event (1945184)
  • browsingContext.setViewport command support userContexts parameter (1940952)
  • initiatorType & destination fields to all network events (1904892, 1933331)
  • browsingContext.captureScreenshot support format field (1861737)
  • cookies.SameSiteStatus support unspecified (1550032)
  • emulation.setGeolocationOverride (1954992)
  • emulation.setLocaleOverride (1968952)
  • network.addDataCollector (1971778)
  • network.removeDataCollector (1971781)
  • network.getData (1971780)
  • network.disownData (1971779)
  • script.addPreloadScript support userContexts field (1940927)
  • sessions.subscribe argument userContexts (1938604)
  • webExtension.install (1934551)
  • webExtension.uninstall (1934553)

Marionette:

  • Addon:Install & Addon:Uninstall commands support for GeckoView (1806135)
  • CHIPS cookies (Cookies Having Independent Partitioned State) support (1972830)

Protocols

  • ...

HTTP

Security

  • Certificate Transparency supported (1938242)

Interop

Interop 2025 (1948691)

Interop Focus Areas for implementation:

Specifications and Notes

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

See Also