Difference between revisions of "Platform/2023PlannedWork"

From MozillaWiki
Jump to: navigation, search
(more from 115-119)
(more from 120, 121, and downgrade warning)
 
Line 3: Line 3:
 
=Gecko Planned Work For 2023=
 
=Gecko Planned Work For 2023=
  
{{warning|This is page is actively in-progress and is incomplete.}}
+
{{|This page in-progress and is .}}
  
 
Related Links:
 
Related Links:
Line 19: Line 19:
 
* <code>dirname</code> attribute on <code>input</code> & <code>textarea</code> ([https://bugzil.la/675943 675943])
 
* <code>dirname</code> attribute on <code>input</code> & <code>textarea</code> ([https://bugzil.la/675943 675943])
 
* <code>inert</code> attribute ([https://bugzil.la/1764263 1764263])
 
* <code>inert</code> attribute ([https://bugzil.la/1764263 1764263])
 +
 
* <code>media</code> attribute on <code>&lt;source&gt;</code> elements within <code>&lt;audio&gt;</code>, <code>&lt;video&gt;</code>, <code>&lt;picture&gt;</code> ([https://bugzil.la/1836128 1836128])
 
* <code>media</code> attribute on <code>&lt;source&gt;</code> elements within <code>&lt;audio&gt;</code>, <code>&lt;video&gt;</code>, <code>&lt;picture&gt;</code> ([https://bugzil.la/1836128 1836128])
 
* <code>rel=modulepreload</code> ([https://bugzil.la/1425310 1425310]
 
* <code>rel=modulepreload</code> ([https://bugzil.la/1425310 1425310]
 
* <code>&lt;search&gt;</code> element ([https://bugzil.la/1824121 1824121])
 
* <code>&lt;search&gt;</code> element ([https://bugzil.la/1824121 1824121])
 
* <code>translate</code> attribute ([https://bugzil.la/1418449 1418449])
 
* <code>translate</code> attribute ([https://bugzil.la/1418449 1418449])
* ...
+
 
 
=== ARIA ===
 
=== ARIA ===
 
* <code>image</code> role alias for <code>img</code> ([https://bugzil.la/1829269 1829269])
 
* <code>image</code> role alias for <code>img</code> ([https://bugzil.la/1829269 1829269])
* ...
 
  
 
== CSS ==
 
== CSS ==
Line 42: Line 42:
 
* <code>font-size-adjust:from-font</code> ([https://bugzil.la/1708240 1708240])
 
* <code>font-size-adjust:from-font</code> ([https://bugzil.la/1708240 1708240])
 
* <code>font-synthesis-position</code> property and <code>font-synthesis:position</code> [https://bugzil.la/1849010 1849010])
 
* <code>font-synthesis-position</code> property and <code>font-synthesis:position</code> [https://bugzil.la/1849010 1849010])
* <code>:has</code> pseudo-class ([https://bugzil.la/418039 meta 418039])
+
* <code>:has</code> pseudo-class ([https://bugzil.la/418039 meta 418039])
 
* <code>@import</code> <code>supports()</code> function <code>supports-conditions</code> feature ([https://bugzil.la/1830779 1830779])
 
* <code>@import</code> <code>supports()</code> function <code>supports-conditions</code> feature ([https://bugzil.la/1830779 1830779])
 
* <code>:lang()</code> pseudo-class support string-matching semantics (including * wildcards) for matching language codes and comma-separated lists of languages ([https://bugzil.la/1121792 1121792])
 
* <code>:lang()</code> pseudo-class support string-matching semantics (including * wildcards) for matching language codes and comma-separated lists of languages ([https://bugzil.la/1121792 1121792])
Line 48: Line 48:
 
* <code>lh</code> and <code>rlh</code> line height units ([https://bugzil.la/1310170 1310170])
 
* <code>lh</code> and <code>rlh</code> line height units ([https://bugzil.la/1310170 1310170])
 
* math functions: <code>abs()</code>, <code>sign()</code>, <code>round()</code>, <code>mod()</code>, <code>rem()</code>, <code>pow()</code>, <code>sqrt()</code>, <code>hypot()</code>, <code>log()</code>, <code>exp()</code> ([https://bugzil.la/1814589 1814589])
 
* math functions: <code>abs()</code>, <code>sign()</code>, <code>round()</code>, <code>mod()</code>, <code>rem()</code>, <code>pow()</code>, <code>sqrt()</code>, <code>hypot()</code>, <code>log()</code>, <code>exp()</code> ([https://bugzil.la/1814589 1814589])
* <code>math-style</code>, <code>math-depth</code> properties, and <code>font-size:math<code> ([https://bugzil.la/1845516 1845516]).
+
* <code>math-style</code>, <code>math-depth</code> properties, and <code>font-size:math<code> ([https://bugzil.la/1845516 1845516]).
 
* Nesting Module ([https://bugzil.la/id=1648037 1648037])
 
* Nesting Module ([https://bugzil.la/id=1648037 1648037])
 
* <code>:nth-child</code> selector supports children based on An+B rule that also matches a defined selector. See ([https://bugzil.la/1808229 1808229])
 
* <code>:nth-child</code> selector supports children based on An+B rule that also matches a defined selector. See ([https://bugzil.la/1808229 1808229])
Line 55: Line 55:
 
* <code>scripting</code> media feature support ([https://bugzil.la/1166581 1166581])
 
* <code>scripting</code> media feature support ([https://bugzil.la/1166581 1166581])
 
* system-color values <code>Mark</code>, <code>MarkText</code>, and <code>ButtonBorder</code> ([https://bugzil.la/1638052 1638052])
 
* system-color values <code>Mark</code>, <code>MarkText</code>, and <code>ButtonBorder</code> ([https://bugzil.la/1638052 1638052])
 +
 +
 
* <code>transform-box</code> values <code>content-box</code>, <code>stroke-box</code> ([https://bugzil.la/1819464 1819464])
 
* <code>transform-box</code> values <code>content-box</code>, <code>stroke-box</code> ([https://bugzil.la/1819464 1819464])
 
* <code>-webkit-text-security</code> property ([https://bugzil.la/1826629 1826629])
 
* <code>-webkit-text-security</code> property ([https://bugzil.la/1826629 1826629])
Line 64: Line 66:
 
* <code>&lt;length&gt;</code> CSS Level 3 data types for all SVG attributes that accept a length value ([https://bugzil.la/1287054 1287054])
 
* <code>&lt;length&gt;</code> CSS Level 3 data types for all SVG attributes that accept a length value ([https://bugzil.la/1287054 1287054])
 
* <code>&lt;script&gt;</code> element with <code>type="module"</code>, <code>defer</code>, and <code>async</code> attributes in inline SVGs ([https://bugzil.la/1839954 1839954])  
 
* <code>&lt;script&gt;</code> element with <code>type="module"</code>, <code>defer</code>, and <code>async</code> attributes in inline SVGs ([https://bugzil.la/1839954 1839954])  
* ...
 
  
 
== JS ==
 
== JS ==
* ...
 
 
* <code>Array.fromAsync()</code> ([https://bugzil.la/1795816 1795816])
 
* <code>Array.fromAsync()</code> ([https://bugzil.la/1795816 1795816])
 
* <code>Array.toReversed() .toSorted() .toSpliced() .with(), TypedArrays.toReversed() .toSorted() .with()</code> ([https://bugzil.la/1811057 1811057])
 
* <code>Array.toReversed() .toSorted() .toSpliced() .with(), TypedArrays.toReversed() .toSorted() .with()</code> ([https://bugzil.la/1811057 1811057])
 
* <code>CanvasRenderingContext2D.reset()</code> ([https://bugzil.la/1709347 1709347])
 
* <code>CanvasRenderingContext2D.reset()</code> ([https://bugzil.la/1709347 1709347])
 
* Compression Streams API, including compress and decompress data using the <code>gzip</code> and <code>deflate</code> formats ([https://bugzil.la/1823619 1823619])  
 
* Compression Streams API, including compress and decompress data using the <code>gzip</code> and <code>deflate</code> formats ([https://bugzil.la/1823619 1823619])  
* <code>Date.parse()</code> additional date formats ([https://bugzil.la/1557650 1557650], [https://bugzil.la/449921 449921], [https://bugzil.la/1852422 1852422])
+
* <code>Date.parse()</code> additional date formats ([https://bugzil.la/1557650 1557650], [https://bugzil.la/449921 449921], [https://bugzil.la/1852422 1852422])
 
* <code>Intl.NumberFormat</code> constructor options <code>roundingIncrement</code>, <code>roundingMode</code>, <code>roundingPriority</code>, <code>trailingZeroDisplay</code>, <code>useGrouping</code>, and methods <code>formatRange()</code> & <code>formatRangeToParts()</code> ([https://bugzil.la/1795756 1795756])
 
* <code>Intl.NumberFormat</code> constructor options <code>roundingIncrement</code>, <code>roundingMode</code>, <code>roundingPriority</code>, <code>trailingZeroDisplay</code>, <code>useGrouping</code>, and methods <code>formatRange()</code> & <code>formatRangeToParts()</code> ([https://bugzil.la/1795756 1795756])
 
* <code>Intl.PluralRules</code> constructor options <code>roundingIncrement</code>, <code>roundingMode</code>, <code>roundingPriority</code>, <code>trailingZeroDisplay</code>, and the <code>selectRange()</code> method ([https://bugzil.la/1795756 1795756])
 
* <code>Intl.PluralRules</code> constructor options <code>roundingIncrement</code>, <code>roundingMode</code>, <code>roundingPriority</code>, <code>trailingZeroDisplay</code>, and the <code>selectRange()</code> method ([https://bugzil.la/1795756 1795756])
Line 78: Line 78:
 
* <code>Object.groupBy()</code> ([https://bugzil.la/1792650 1792650])
 
* <code>Object.groupBy()</code> ([https://bugzil.la/1792650 1792650])
 
* <code>OffscreenCanvasRenderingContext2D.reset()</code> ([https://bugzil.la/1709347 1709347])
 
* <code>OffscreenCanvasRenderingContext2D.reset()</code> ([https://bugzil.la/1709347 1709347])
 +
 
* <code>String.prototype.isWellFormed()</code> and <code>String.prototype.toWellFormed()</code> ([https://bugzil.la/1850755 1850755])
 
* <code>String.prototype.isWellFormed()</code> and <code>String.prototype.toWellFormed()</code> ([https://bugzil.la/1850755 1850755])
 
* Workers support loading ECMAScript modules. ([https://bugzil.la/1812591 1812591])
 
* Workers support loading ECMAScript modules. ([https://bugzil.la/1812591 1812591])
 
* Worklets support <code>import</code> to statically import ECMAscript/JavaScript modules ([https://bugzil.la/1812591 1812591])
 
* Worklets support <code>import</code> to statically import ECMAscript/JavaScript modules ([https://bugzil.la/1812591 1812591])
* ...
 
  
 
== APIs ==
 
== APIs ==
Line 93: Line 93:
 
* Compression Streams ([https://bugzil.la/1823619 1823619])
 
* Compression Streams ([https://bugzil.la/1823619 1823619])
 
* <code>MediaDevices.selectAudioOutput()</code>, <code>MediaDevices.enumerateDevices()</code>, <code>HTMLMediaElement.setSinkId()</code>, <code>HTMLMediaElement.sinkId</code>, and <code>Permissions-Policy: speaker-selection</code> ([https://bugzil.la/1498512 1498512])
 
* <code>MediaDevices.selectAudioOutput()</code>, <code>MediaDevices.enumerateDevices()</code>, <code>HTMLMediaElement.setSinkId()</code>, <code>HTMLMediaElement.sinkId</code>, and <code>Permissions-Policy: speaker-selection</code> ([https://bugzil.la/1498512 1498512])
 +
 
* Opaque Response Blocking (<abbr>ORB</abbr>, [https://bugzil.la/1532642 1532642])
 
* Opaque Response Blocking (<abbr>ORB</abbr>, [https://bugzil.la/1532642 1532642])
 +
 
* <code>PublicKeyCredential</code>: <code>parseCreationOptionsFromJSON()</code>, <code>parseRequestOptionsFromJSON()</code>, <code>toJSON() methods</code> ([https://bugzil.la/1823782 1823782])
 
* <code>PublicKeyCredential</code>: <code>parseCreationOptionsFromJSON()</code>, <code>parseRequestOptionsFromJSON()</code>, <code>toJSON() methods</code> ([https://bugzil.la/1823782 1823782])
 
* <code>ReadableStream.from()</code> [https://bugzil.la/1772772 1772772]
 
* <code>ReadableStream.from()</code> [https://bugzil.la/1772772 1772772]
Line 103: Line 105:
 
* <code>URL.canParse()</code> ([https://bugzil.la/1823354 1823354])
 
* <code>URL.canParse()</code> ([https://bugzil.la/1823354 1823354])
 
* <code>URLSearchParams.has()</code> and <code>URLSearchParams.delete()</code> methods support optional <code>value</code> argument ([https://bugzil.la/1831587 1831587])
 
* <code>URLSearchParams.has()</code> and <code>URLSearchParams.delete()</code> methods support optional <code>value</code> argument ([https://bugzil.la/1831587 1831587])
 +
 
* WebTransport API ([https://bugzil.la/1692754 1692754], [https://bugzil.la/1818754 1818754], [https://bugzil.la/1791835 1791835])
 
* WebTransport API ([https://bugzil.la/1692754 1692754], [https://bugzil.la/1818754 1818754], [https://bugzil.la/1791835 1791835])
 +
 
* <code>Window.print()</code> print dialog on Android, to print current document ([https://bugzil.la/1809922 1809922])
 
* <code>Window.print()</code> print dialog on Android, to print current document ([https://bugzil.la/1809922 1809922])
* ...
 
  
 
=== DOM ===
 
=== DOM ===
* ...
 
 
* <code>CSSContainerRule</code> ([https://bugzil.la/1787173 1787173])
 
* <code>CSSContainerRule</code> ([https://bugzil.la/1787173 1787173])
 +
 
* <code>scrollend</code> events ([https://bugzil.la/1797013 1797013], [https://bugzil.la/1803435 1803435])
 
* <code>scrollend</code> events ([https://bugzil.la/1797013 1797013], [https://bugzil.la/1803435 1803435])
 
* <code>TextMetrics.fontBoundingBox*</code> ([https://bugzil.la/1102584 1102584])
 
* <code>TextMetrics.fontBoundingBox*</code> ([https://bugzil.la/1102584 1102584])
 
* <code>TextMetrics.fontBoundingBoxAscent</code> and <code>TextMetrics.fontBoundingBoxDescent</code> ([https://bugzil.la/1801198 1801198])
 
* <code>TextMetrics.fontBoundingBoxAscent</code> and <code>TextMetrics.fontBoundingBoxDescent</code> ([https://bugzil.la/1801198 1801198])
* ...
 
  
 
=== WebRTC ===
 
=== WebRTC ===
* ...
 
 
* <code>RTCRtpSender.getCapabilities()</code> ([https://bugzil.la/1531460 1531460])
 
* <code>RTCRtpSender.getCapabilities()</code> ([https://bugzil.la/1531460 1531460])
 
* <code>RTCRtpReceiver.getCapabilities()</code> ([https://bugzil.la/1531461 1531461])
 
* <code>RTCRtpReceiver.getCapabilities()</code> ([https://bugzil.la/1531461 1531461])
Line 125: Line 126:
 
* <code>RTCPeerConnectionStats</code> ([https://bugzil.la/1531087 1265827])
 
* <code>RTCPeerConnectionStats</code> ([https://bugzil.la/1531087 1265827])
 
* <code>RTCRtpReceiver.jitterBufferTarget</code> ([https://bugzil.la/1592988 1592988])
 
* <code>RTCRtpReceiver.jitterBufferTarget</code> ([https://bugzil.la/1592988 1592988])
* ...
 
  
 
== HTTP ==
 
== HTTP ==
Line 133: Line 133:
 
* <code>Permissions-Policy</code> header <code>publickey-credentials-get</code> directive ([https://bugzil.la/1460986 1460986])  
 
* <code>Permissions-Policy</code> header <code>publickey-credentials-get</code> directive ([https://bugzil.la/1460986 1460986])  
 
* <code>Range</code> header is a CORS-safelisted request header when the value is a single byte range ([https://bugzil.la/1733981 1733981])
 
* <code>Range</code> header is a CORS-safelisted request header when the value is a single byte range ([https://bugzil.la/1733981 1733981])
 +
 
* <code>Sec-Purpose</code> HTTP header included in requests to Prefetch resources ([https://bugzil.la/1836328 1836328])
 
* <code>Sec-Purpose</code> HTTP header included in requests to Prefetch resources ([https://bugzil.la/1836328 1836328])
* ...
 
  
 
== Media ==
 
== Media ==
* ...
 
 
* AV1 video codec support on Android with hardware accelerated decoding if available ([https://bugzil.la/1672276 1672276])
 
* AV1 video codec support on Android with hardware accelerated decoding if available ([https://bugzil.la/1672276 1672276])
* ...
 
  
 
== See Also ==
 
== See Also ==

Latest revision as of 03:54, 19 June 2024

This article is a stub. You can help MozillaWiki by expanding it.

Gecko Planned Work For 2023

Note: This page may have in-progress sections and is not fully complete.

Related Links:

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

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

HTML

  • autocapitalize attribute (1692007)
  • dirname attribute on input & textarea (675943)
  • inert attribute (1764263)
  • <iframe> loading attribute and HTMLIFrameElement.loading (1622090)
  • media attribute on <source> elements within <audio>, <video>, <picture> (1836128)
  • rel=modulepreload (1425310
  • <search> element (1824121)
  • translate attribute (1418449)

ARIA

  • image role alias for img (1829269)

CSS

  • animation-composition property (1293490, 1823862)
  • attr() function fallback value (1448248)
  • calc() support infinity and NaN constants (1830759)
  • Color functions: color(), lab() and lch(), oklab() and oklch() (meta 1293490)
  • color-gamut (1422237)
  • Constructable Stylesheets (meta 1520690)
  • Container Queries (meta 1744221)
  • contain-intrinsic-size: auto none (1835813)
  • content property support all image types including <gradient>, image-set(), url(). (1684958)
  • content-visibility property (meta 1660384)
  • CSS Nesting module and & nesting selector (1835066, 1840781)
  • font-size-adjust:from-font (1708240)
  • font-synthesis-position property and font-synthesis:position 1849010)
  • :has pseudo-class selector (meta 418039)
  • @import supports() function supports-conditions feature (1830779)
  • :lang() pseudo-class support string-matching semantics (including * wildcards) for matching language codes and comma-separated lists of languages (1121792)
  • light-dark() function (1856999)
  • lh and rlh line height units (1310170)
  • math functions: abs(), sign(), round(), mod(), rem(), pow(), sqrt(), hypot(), log(), exp() (1814589)
  • math-style, math-depth properties, and font-size:math (1845516).
  • Nesting Module (1648037)
  • :nth-child selector supports children based on An+B rule that also matches a defined selector. See (1808229)
  • offset-path property syntax updates (1598156, 1837305)
  • @page named pages with page property (1787947)
  • scripting media feature support (1166581)
  • system-color values Mark, MarkText, and ButtonBorder (1638052)
  • text-indent values each-line and hanging, and multiple values (784648)
  • text-wrap<code> values <code>balance and stable (1731541)
  • transform-box values content-box, stroke-box (1819464)
  • -webkit-text-security property (1826629)

SVG

  • context-stroke and context-fill values inside <marker> (752638)
  • crossorigin attribute support in <image> and <feImage> (1240357)
  • q unit (1836995)
  • <length> CSS Level 3 data types for all SVG attributes that accept a length value (1287054)
  • <script> element with type="module", defer, and async attributes in inline SVGs (1839954)

JS

  • Array.fromAsync() (1795816)
  • Array.toReversed() .toSorted() .toSpliced() .with(), TypedArrays.toReversed() .toSorted() .with() (1811057)
  • CanvasRenderingContext2D.reset() (1709347)
  • Compression Streams API, including compress and decompress data using the gzip and deflate formats (1823619)
  • Date.parse() additional date formats (1557650, 449921, 1852422, 1858851, 1863489, 1863125, 1617562,)
  • Intl.NumberFormat constructor options roundingIncrement, roundingMode, roundingPriority, trailingZeroDisplay, useGrouping, and methods formatRange() & formatRangeToParts() (1795756)
  • Intl.PluralRules constructor options roundingIncrement, roundingMode, roundingPriority, trailingZeroDisplay, and the selectRange() method (1795756)
  • Map.groupBy() (1792650)
  • Object.groupBy() (1792650)
  • OffscreenCanvasRenderingContext2D.reset() (1709347)
  • Promise.withResolvers() static method, resolve and reject callback functions in same scope as returned Promise (1845586)
  • String.prototype.isWellFormed() and String.prototype.toWellFormed() (1850755)
  • Workers support loading ECMAScript modules. (1812591)
  • Worklets support import to statically import ECMAscript/JavaScript modules (1812591)

APIs

  • AuthenticatorAttestationResponse: getAuthenticatorData(), getPublicKeyAlgorithm(), getPublicKey() methods (1816519, 1816520)
  • CanvasRenderingContext2D.getContextAttributes() (1517786)
  • Credential Properties Extension (credProps) of the Web Authentication API (1844437)
  • CSSImportRule.supportsText support getting any supports() conditions specified using @import (1829590)
  • getAutoplayPolicy() (1773551)
  • getDirectory() for OPFS with File System Access API (1785123)
  • roundRect() (1756175)
  • Compression Streams (1823619)
  • MediaDevices.selectAudioOutput(), MediaDevices.enumerateDevices(), HTMLMediaElement.setSinkId(), HTMLMediaElement.sinkId, and Permissions-Policy: speaker-selection (1498512)
  • Navigator.userActivation property and UserActivation interface (1791079)
  • Opaque Response Blocking (ORB, 1532642)
  • PublicKeyCredential.authenticatorAttachment property (1810851)
  • PublicKeyCredential: parseCreationOptionsFromJSON(), parseRequestOptionsFromJSON(), toJSON() methods (1823782)
  • ReadableStream.from() 1772772
  • Response: json() static method (1758943)
  • RTCRtpScriptTransform, RTCRtpScriptTransformer, RTCRtpSender.transform, RTCRtpReceiver.transform, RTCEncodedVideoFrame, RTCEncodedAudioFrame, and the RTCTransformEvent and worker rtctransform event (1631263)
  • RTCRtpTransceiver.currentDirection and RTCRtpTransceiver.direction properties support "stopped" value (1568296)
  • sendOrder property inside options to WebTransport.createBidirectionalStream() WebTransport.createUnidirectionalStream() (1816925)
  • TextMetrics.emHeightDescent and TextMetrics.emHeightAscent properties (1841692)
  • URL.canParse() (1823354)
  • URLSearchParams.has() and URLSearchParams.delete() methods support optional value argument (1831587)
  • Web Authentication API minPinLength (1844450)
  • WebTransport API (1692754, 1818754, 1791835)
  • WebTransportSendStream.sendOrder property (1853444)
  • Window.print() print dialog on Android, to print current document (1809922)

DOM

  • CSSContainerRule (1787173)
  • HTMLInputElement.showPicker() support <input type="week"> and <input type="month"> (1853797)
  • scrollend events (1797013, 1803435)
  • TextMetrics.fontBoundingBox* (1102584)
  • TextMetrics.fontBoundingBoxAscent and TextMetrics.fontBoundingBoxDescent (1801198)

WebRTC

  • RTCRtpSender.getCapabilities() (1531460)
  • RTCRtpReceiver.getCapabilities() (1531461)
  • RTCRtpSender.setStreams() (1510802)
  • RTCSctpTransport, RTCPeerConnection.sctp (1278299)
  • RTCMediaSourceStats (1804678)
  • RTCPeerConnection.connectionState (1265827)
  • RTCPeerConnectionStats (1265827)
  • RTCRtpReceiver.jitterBufferTarget (1592988)

HTTP

  • 103 Early Hints response status code (1858712)
  • CSP 'unsafe-hashes' value for source directives (1343950), specifying external JavaScript files to be whitelisted using hashes (1409200)
  • Cross-Origin-Embedder-Policy HTTP response header credentialless directive (1851467)
  • Permissions-Policy header publickey-credentials-get directive (1460986)
  • Range header is a CORS-safelisted request header when the value is a single byte range (1733981)
  • Sec-GPC HTTP request header along with Navigator.globalPrivacyControl and WorkerNavigator.globalPrivacyControl properties (1856029)
  • Sec-Purpose HTTP header included in requests to Prefetch resources (1836328)

Media

  • AV1 video codec support on Android with hardware accelerated decoding if available (1672276)

See Also