Changes

Jump to: navigation, search

Platform/Roadmap

29,252 bytes removed, 23:25, 14 April 2022
Updated entire page to reflect the H1 2022 Platform Roadmap
{{outdated}}
<section begin="summary" />{{RoadmapSummary
|icon=Tempicon.png
|pagelocation=Platform/Roadmap
|pagetitle=Firefox Platform 2015 H1 2022 Roadmap|owner=Martin BestAndrew Overholt|updated=December 2014March 2022|status=DraftComplete|description=This roadmap outlines the current direction for Firefox Platform development through 2015the first half of 2022. The following document is subject to change at anytime. It is also not a commitment to ship a features feature but rather an intent to implement and land them on by default in the nightly version of Firefox unless otherwise stated.}}
<section end="summary" />
 
Related Links:
* [https://groups.google.com/forum/#!topic/mozilla.dev.platform/mHqE7QmHeqQ Firefox Desktop Q1 2015 Areas of Focus Post]
* [https://wiki.mozilla.org/RapidRelease/Calendar Firefox Release Calendar]
* [https://wikifirefox-source-docs.mozilla.org/Platformcontributing/Roadmap2012 2012 Platform Roadmappocket-guide-shipping-firefox.html Pocket Guide: Shipping Firefox]
Programs and corresponding initiatives{| class="wikitable"|-! Program!! Initiative|- | rowspan=Teams14 colspan=1|APIs | Support Observable Array type in WebIDL|- | OffscreenCanvas|- | Investigate/prototype Container Queries|- | Client-side Print Support for Gsuite (Named Pages)|-Definition of Done | [https: All listed features are present in our nightly version of Firefox//tabatkins.github. io/specs/svg-params/#setting Investigate, Spec, Plan "Context-paint” for adding custom external colors to SVG icons]|- The features must then go through | [https://drafts.csswg.org/scroll-animations-1/ Scroll-linked animations (M2) Improve the standard quality assurance process before appearing in a release channelperformance and memory usage]|- | Get WebRTC 1.0 APIs up to specification|- | Prototype Largest Contentful Paint|- | [https://wicg.github.io/scheduling-apis/ Prototype Prioritized Task Scheduling API]|- | [https://github.com/WebAssembly/tail-call/blob/master/proposals/tail-call/Overview.md WASM: Implement Tail Call Proposal]|- | [https://streams.spec.whatwg.org/ Streams API]|- | Import Maps|- | [https://github.com/WebAssembly/exception-handling WASM: Exception Handling]|- | [https://github.com/tc39/proposal-intl-segmenter JavaScript Lang: Intl.Segmenter]|- | rowspan=4 colspan=1|Devtools | Console Panel Performance|- | Improve DevTools Debugger|- | [https://w3c.github.io/webdriver-bidi/ DevTools Remote Protocol / WebDriver BiDi]|- | DevTools: Prevent Accidental Use of F12|- | rowspan=1 colspan=Accessibility1|Engineering Efficiency | Implement most valuable release management bot enhancements|- | rowspan=4 colspan=1|Features | Bring Swipe-to-navigate to Windows|- | Bring Swipe-to-navigate to Linux|- | Support audio output device authorization|- | Support audio input device switching|-{ | classrowspan="wikitable" width1 colspan="100%"1|Internationalization (i18n) | Unify Segmentation|-! style | rowspan=12 colspan="text1|Performance | Accessibility Engine Improvements|- | Service Worker NavigationPreloadManager API|- | Service Worker performance improvements|- | Add GPU Accleration to Canvas2D|- | Improve SVG and Blob Image Rendering|- | Support Selective Shutdown of Audio Backend|-align | [https: center;" width: "50%;" //datatracker.ietf.org/doc/html/rfc8297 103 EarlyHints]|- | Understand how frequently users encounter adverse performance due to being low on memory|- | Find a way to aggressively unload pages with fast restoration|- | Improve profiler IPC markers|- | Collect CPU use information for the entire profiled processes and the entire system|- | Reduce profiler memory and CPU overhead when profiling many idle threads|- | Current Plans !! stylerowspan=15 colspan="text1|Quality | Run tests on Linux under Wayland|- | Fix top quality issues with PDF.js|-align: center;" width: "50%;" | Previous PlansAutomatic backfilling and retrying for test failures
|-
| style="vertical-align:top;" | ------ Items above done before or during Q1 ------* FFOS Lightsaber v1.0 engineering support* Enable marionette a11y checks in Gaia Integration tests.* Ensure iOS is VoiceOver ready. ------ Items above done before or during Q2 ------* Enable marionette a11y checks in Gaia Integration tests.* Accessibility Dev Tool (prototype) ------ Items above planned to be done before or during Q3 ------* Webspeech TTS hookup on Windows ------ Items above planned to be done before or during Q4 ------* Accessibility support for E10s. (targeting Gecko 44 TBD)* Ship Accessibility Dev Tool* Web Facing Accessibility API (full proposal) | style="vertical-align:top;" |[everything below not finalized]* Webspeech TTS hookup on Windows ------ Items above planned to be done before or during Gecko 39 (Q1) ------* Accessibility support for E10s. (targeting Gecko 42 TBD)* FFOS Lightsaber v1.0 engineering support* Enable marionette a11y checks in Gaia Integration tests.* Accessibility Dev Tool* Create accessibility inspection Developer Tool addon.* Webspeech TTS hookup on Windows* Ensure iOS is VoiceOver ready. ------ Items above planned Use test selection results to be done before speed up sheriffs' decisions or during Gecko 42 (Q2) ------* Accessibility Metrics* Accessibility Training Materials* Web Facing Accessibility API ------ Items above planned to be done before or during Gecko 45 (End 2015) ------|} ==DOM== {| class="wikitable" width="100%"! style="text-align: center;" width: "50%;" | Current Plans !! style="text-align: center;" width: "50%;" | Previous Planspartly automate them
|-
| style="vertical-align:top;" |* Service Workers behind a pref* IndexedDB in Workers* Picture Tag* requestSync (FxOS-only precursor to BackgroundSync)* e10s (drag-and-drop, clipboard, leak detection and reporting)* BroadcastChannel ------ Items above done before or during Q1 ------* Web Manifest* Screen Orientation API (''almost'' complete)* Notification API in Workers* Infrastructure for tab muting* Fetch API* Cache API* MessagePort in Workers ------ Items above done before or during Q2 ------* WebMIDI (preliminary; likely not fully shipping on any platform until Q4 at earliest)* WebGL in Workers* Pre-rendering API* Shadow DOM (pending outcome of W3C WebApps WG F2F April 24)* Custom Elements (pending outcome of W3C WebApps WG F2F April 24)* Service Workers* Web Push ------ Items above planned to be done before or during Q3 ------* Streams API ------ Items above planned to be done before or during Q4 ------ | style="vertical-align:top;" |* Service Workers behind a pref* IndexedDB in Workers* Picture Tag* requestSync (FxOS-only precursor to BackgroundSync)* e10s (drag-and-drop, clipboard, leak detection and reporting)* BroadcastChannel ------ Items above planned to be done before or during Gecko 39 (Q1) ------* Pre-rendering API* Shadow DOM (pending outcome of W3C WebApps WG F2F April 24)* Custom Elements (pending outcome Build more automation around handling of W3C WebApps WG F2F April 24)* Web Manifest* WebGL in Workers* Firefox OS application security model work* Screen Orientation API* WebMIDI* Notification API in Workers ------ Items above planned to be done before or during Gecko 42 (Q2) ------* BackgroundSync* Web Push* Media Controls API* localStorage + Quota Manager* Image Resizing API* FileSystem API* Web Share primitive (towards Web Activities standardization)* finish remaining WebIDL conversions* JS-implemented plugins* IndexedDB data change observer events* Device Orientation Locking (any spec work; others doing implementation) * MessagePort* Remove appcache* Directory upload* DOM bits of Object.observe* Get rid of DOM child array* Web Audio in Workers ------ Items above planned to be done before or during Gecko 45 (End 2015) ------|} ==e10s== {| class="wikitable" width="100%"! style="text-align: center;" width: "50%;" | Current Plans !! style="text-align: center;" width: "50%;" | Previous Plansintermittent tests
|-
| style="vertical-align:top;" | * Milestone 4 completed in Gecko 38 ([http://is.gd/XKZkQ5 buglist])* Milestone 5 completed in Gecko 38 ([http://is.gd/7MuzQK buglist])* CPOW mitigation tools  ------ Items above done before or during Q1 ------ * Milestone 6 completed ([http://is.gd/yOVr9r buglist])* Milestone 7 completed ([http://is.gd/BNgUVN buglist])* Default in Nightly 42* Opt-in in Aurora 41  ------ Items above done before or during Q2 ------ * Milestone 8 completed ([http://is.gd/jUNCg5 buglist])* Addons: new extension api made available* Removal of CPOW use from browser code* Default in Aurora 42* Opt-in in Beta 42  ------ Items above planned to be done before or during Q3 ------ * Milestone 9 completed* Default in Release 43  ------ Items above planned to be done before or during Q4 ------ | style="vertical-align:top;" |* Milestone 4 completed in Gecko 38 ([http://is.gd/XKZkQ5 buglist])* Milestone 5 completed in Gecko 38 ([http://is.gd/7MuzQK buglist])* CPOW mitigation tools  ------ Items above planned to be done before or during Q1 ------ * Milestone 6 ([http://is.gd/yOVr9r buglist])* Rollout to Aurora 40* Milestone 7 completed ([http://is.gd/BNgUVN buglist])  ------ Items above planned to be done before or during Q2 ------ * Milestone 8 completed Enable Cross Translation Unit ([http://is.gd/jUNCg5 buglist]CTU)* Rollout to Beta 41* Addon migration tools  ------ Items above planned to be done before or during Q3 ------ * Rollout to Release* milestone completion placeholder - additional milestones may be defined later in the year for winding the e10s project down.  ------ Items above planned to be done before or during Q4 ------ |} ==Graphics== {| class="wikitable" width="100%"! style="text-align: center;" width: "50%;" | Current Plans !! style="text-align: center;" width: "50%;" | Previous Plansstatic analysis
|-
| style="vertical-align:top;" |* (Q1 unchanged from the original plans)* FirefoxOS GFX Device Support* OMTC - Off Main Thread Compositing Windows* e10s - Ship Electrolysis* Project Silk* Graphics - FirefoxOS Critical Memory Usage Reduction* WebGL 2 Demo* WebGL Desktop Performance* Desktop OOM driver related issues ------ Items above done before or during Q1 ------* WebWorkers WebGL support (added in April)* Runtime HW testing (added in May, pushed some items down)** Compositor success detection (to combine with video success detection)** Additional telemetry for startup testing** Crash detection and recovery during startup testing* Tiling on Desktop - Removed in April. Currently not deemed as required for APZ and scrolling performance, so the priority dropped. ------ Items above done before or during Q2 ------* APZ Fennec parity (added in June) - enable in 43, but do a double nightly, ride 44 train* Desktop Scrolling Performance (postponed from Q2 in May)* Overscroll Improvements - removed - no further work required* Expose the graphics card details* Update to the latest ANGLE (with initial WebGL2 support) ------ Items above planned to be done before or during Q3 ------* APZ on Desktop - enabled in 42, do multiple nightlies only, ride 44 or 45 train, but only under E10S* WebGL2 on par (target 46; goal added in June)* WebGL Mobile Performance* WebGL Performance Parity on Desktop - investigation stage* Update to the latest Skia ------ Items above planned to be done before or during Q4 ------| style="vertical-align:top;" |* FirefoxOS GFX Device Support* OMTC - Off Main Thread Compositing Windows* e10s - Ship Electrolysis* Project Silk* Graphics - FirefoxOS Critical Memory Usage Reduction* WebGL 2 Demo* WebGL Desktop Performance* Desktop OOM driver related issues ------ Items above planned to be done Implement before or during Gecko 39 (Q1) ------* APZ on Desktop* Tiling on Desktop* Desktop Scrolling Performance ------ Items above planned to be done before or during Gecko 42 (Q2) ------* APZ - "fake overscroll"* APZ - OOP iframe support* Zooming-in Improvements* Overscroll Improvements* Expose the graphics card details* WebGL Mobile Performance* WebGL Performance Parity on Desktop * APZ - "fake scroll" - removed - priority lowered* APZ - OOP iframe support - removed - priority lowered* Zooming-in Improvements - removed - the ask is not there anymore  ------ Items above planned to be done before or during Gecko 45 (End 2015) ------|} ==JavaScript== {| class="wikitable" width="100%"! style="text-align: center;" width: "50%;" | Current Plans !! style="text-align: center;" width: "50%;" | Previous Plans/after/after_landing static analysis method
|-
| style="vertical-align:top;" |* Parsing and Caching Optimization Shumway* ARM Mobile Opts - Support demo* Detailed GC jank Telemetry* ES6 Classes* SAB demo* SIMD.js demos* ARM 64 baseline on Intel* CGC Target release* JIT Frame for Profiler JIT Coach plumbing* Experimental SIMD.js for ASM.js on x86 only (Intel demo)* ES6 Generators JITted* ES6 Symbols ------ Items above done before or during Q1 ------* SIMD.js on ION Intel * GC/CC scheduling improvements * Shared Array Buffer v1* Research PGO* Enable the backtracking allocator for all Ion code* Improve web framework (Shumway/Ember/Angular) performance* ES6 let and const ------ Items above done before or during Q2 ------* ------ Items above planned Add static analysis to be done before or during Q3 ------* ------ Items above planned to be done before or during Q4 ------| style="vertical-align:top;" |* Parsing reduce unnecessary and Caching Optimization Shumway* ARM Mobile Opts - Support demo* Detailed GC jank Telemetry* ES6 Classes* SAB demo* SIMD.js demos* ARM 64 baseline on Intel* CGC Target release* JIT Frame for Profiler JIT Coach plumbing* Experimental SIMD.js for ASM.js on x86 only (Intel demo)* ES6 Generators JITted* ES6 Symbols ------ Items above planned to be done before or during Gecko 39 (Q1) ------* SIMD.js on ION Intel * GC/CC scheduling improvements * Shared Array Buffer v1* Research PGO* Enable the backtracking allocator for all Ion code* Improve web framework (Shumway/Ember/Angular) performance* ES6 let and const ------ Items above planned to be done before or during Gecko 42 (Q2) ------* JS team reduce jank (GC tuning)* SIMD.js on ION ARM ------ Items above planned to be done before or during Gecko 45 (End 2015) ------|} ==Layout== {| class="wikitable" width="100%"! style="text-align: center;" width: "50%;" | Current Plans !! style="text-align: center;" width: "50%;" | Previous Plansexpensive headers
|-
| style="vertical-align:top;" |* Enable OMT Animations on all OMTC platforms* -webkit CSS compatibility for fix-list sites* Vertical Text (basic text, form controls)* CSS Font Loading* CSS Object fit and position * CSS display:contents* CSS scroll snapping* CSS Ruby ------ Items above done before or during Q1 ------ * Images downscale during decode for JPEG ({{bug|1045929}})* Web Animation API* HTML5 <canvas> improvements* e10s Layout Support* Vertical Text (tables)* CSS 3D Transforms ( DEAA & VR requirements )   ------ Items above done before or during Q2 ------ * Webkit-compatibility ({{bug|1177263}})* Logical coordinate support for flexbox ({{bug|1079155}})* Images downscale during decode for non-JPEG images ({{bug|1045926}})* CSS text-orientation: sideways-left* Top layer for Fullscreen API ({{bug|1126230}})* CSS inter-character ruby ({{bug|1055672}})* Enable APZ by default on OS X with e10s ({{bug|1157746}})* Web Animations API: Element.animate ( https://w3c.github.io/web-animations/#dom-animatable-animate )* IME support in e10s ({{bug|1041185}})* Android ICU support ({{bug|864843}})* PerformanceObserver API ( https://w3c.github.io/performance-timeline/#the-performance-observer-interface )* CSS Grid in Nightly/Aurora ({{bug|1000592}})* input type=directory ({{bug|1164310}})  ------ Items above planned to be done before or during Q3 ------*  ------ Items above planned to be done before or during Q4 ------ | style="vertical-align:top;" |* Enable OMT Animations on all OMTC platforms* -webkit CSS compatibility for fix-list sites* Vertical Text (basic text, form controls)* CSS Font Loading* CSS Object fit and position * CSS display:contents* CSS scroll snapping* CSS Ruby  ------ Items above planned to be done before or during Gecko 39 (Q1) ------ * Images downscale during decode for APZC platforms* Web Animation API* HTML5 <canvas> improvements* e10s Layout Support* Vertical Text (tables)* CSS 3D Transforms ( DEAA & VR requirements )   ------ Items above planned to be done before or during Gecko 42 (Q2) ------ * CSS Images (media-fragments)* CSS Shapes (shape-outside for floats)* CSS Box Alignment (for block layout)* CSS Grid* CSS 3D Transforms ( plane splitting)  ------ Items above planned to be done before or during Gecko 45 (End 2015) ------ * CSS Masking  ------ Items above planned to be done before end 2015 but may get reprioritized ------|} ==Media== {| class="wikitable" width="100%"! style="text-align: center;" width: "50%;" | Current Plans !! style="text-align: center;" width: "50%;" | Previous PlansRevitalize Color Management
|-
| style="vertical-align:top;" |* MSE - Media Source Extensions (release Windows Vista and later/YouTube only)* EME - Encrypted Media Extensions (beta 38 Windows Vista and later) ------ Items above done before or during Q1 ------* MSE (release Mac OSX/YouTube only)* EME (release Windows Vista and later)* Video quality and performance improvements ------ Items above done before or during Q2 ------* MSE - remove whitelist in Firefox 42* MSE - support in Android and Firefox OS ------ Items above planned to be done before or during Q3 ------* MP4 demuxer written in Rust* MSE - VP9 support enabled in nightly* EME - used on a major web site in Firefox 42 ------ Items above planned to be done before or during Q4 ------| style="vertical-align:top;" |* MSE - Media Source Extensions (release Windows Vista and later/YouTube only)* EME - Encrypted Media Extensions (beta 38 Windows Vista and later) ------ Items above done before or during Q1 ------* MSE (release Mac OSX/YouTube only)* EME (release Windows Vista and later)* Video quality and performance improvements ------ Items above done before or during Q2 ------* MSE - remove whitelist in Firefox 42* MSE - support in Android and Firefox OS* EME - used on a major web site ------ Items above planned to be done before or during Q3 ------* MP4 demuxer written in Rust* JS decoders ------ Items above planned to be done before or during Gecko 45 (End 2015) ------|} ==Mobile Platform== {| class="wikitable" width="100%"! style="text-align: center;" width: "50%;" | Current Plans !! style="text-align: center;" width: "50%;" | Previous PlansWide Gamut Color Support
|-
| style="vertical-align:top;" |* Enhance Page Load Performance* Platform-independent MP3 parser, platform-dependent decoders* Ensure all crash reports are going to Socorro* OpenH264 on Android ------ Items above done before or during Q1 ------* Platform-independent MP3 parser, platform-dependent decoders* Enhanced startup and pageload performance* Block autoplay videos via script access ------ Items above done before or during Q2 ------* APZ Gecko on Android* Enhance Page Load Performance* Reduce start up time* Allow multiple Gecko windows via multiple GeckoView instances ------ Items above planned to be done before or during Q3 ------* ------ Items above planned to be done before or during Q4 ------| style="vertical-align:top;" |* Enhance Page Load Performance* Platform-independent MP3 parser, platform-dependent decoders* Ensure all crash reports are going to Socorro* OpenH264 on Android ------ Items above planned to be done before or during Gecko 39 High Dynamic Range (Q1HDR) ------* Standalone WebRTC library usable by third parties Loop client prototype for major platforms Support (iOS, Android, WindowsMacOS)* Pre-Rendering Web Pages* Background Hang Reporting (BHR) working with E10S* Enhance screen mirroring performance ------ Items above planned to be done before or during Gecko 42 (Q2) ------* Allow multiple Gecko windows via multiple GeckoView instances* Download locales on-demand in split APK (snorp, esawin)* Download fonts on-demand in split APK* Improve Power Effeciency ------ Items above planned to be done before or during Gecko 45 (End 2015) ------|} ==Networking== {| class="wikitable" width="100%"! style="text-align: center;" width: "50%;" | Current Plans !! style="text-align: center;" width: "50%;" | Previous Plans
|-
| style="vertical-align:top;" |* HTTP/2 ships preffed on (currently scheduled for Gecko 35) * Network Predictor landed & enabled on m-c ({{bug|1009122}}) ------ Items above done before or during Q1 ------* Necko bits needed for Smart Data Management (split "System" data into browser, apps, etc): ({{bug|1070944}}) ------ Items above done before or during Q2 ------* Captive Portal service support ({{bug|1048131}}) ------ Items above planned to be done before or during Q3 ------* Framework for caching alternate representations of web data ({{bug|1177572}}) ------ Items above planned to be done before or during Q4 ------| style="vertical-align:top;" |* HTTP/2 ships preffed Downloadable Blocklist Support on (currently scheduled for Gecko 35) * Network Predictor landed & enabled on m-c ({{bug|1009122}})* Idle mode for networking (optimize radio power use): ({{bug|1085760}}) ------ Items above planned to be done before or during Gecko 39 (Q1) ------* Necko bits needed for Smart Data Management (split "System" data into browser, apps, etc): ({{bug|1070944}}) ------ Items above planned to be done before or during Gecko 42 (Q2) ------* Network predictor: prefetch resources into HTTP cache if they are very likely to be used. ------ Items above planned to be done before or during Gecko 45 (End 2015) ------|} ==PKI== {| class="wikitable" width="100%"! style="text-align: center;" width: "50%;" | Current Plans !! style="text-align: center;" width: "50%;" | Previous PlansMobile
|-
| style="vertical-align:top;" |* OneCRL - certificate revocation list push mechanism.* Final round of 1024-bit root removals. ------ Items above done before or during Q1 ------* OCSP disabled for DV validations on Android.* Support skipping OCSP for short-lived certificates. ------ Items above done before or during Q2 ------* Certificate transparency (behind a pref).* Support the OCSP must-staple extension.* Enable skipping OCSP validation for short-lived certificates.* Support for CA-provided Intermediate certificate info in SalesForce.* OneCRL: support blocking by subject and public key. ------ Items above planned to be done before or during Q3 ------* Add a mechanism to push security policy state updates. ------ Items above planned to be done before or during Q4 ------* TLS 1.3* Certificate chain collection from browsers | style="verticalPinch -align:top;" |* WebCrypto* OneCRL* Phase 1 of CA program migration to SalesForce* SHA-1 warnings* Name constraints on root CAs* OneCRL based on (subject, public key)* Certificate observatory* Finish removal of 1024-bit roots|} ==Sandboxing== {| class="wikitable" width="100%"! style="text-align: center;" width: "50%;" | Current Plans !! style="text-align: center;" width: "50%;" | Previous PlansZoom Feature Repairs/Enhancements
|-
| style="vertical-align:top;" |* EME/CDM sandboxing for Windows 7+* e10s sandboxing for Windows (Low Integrity)* e10s sandboxing for Windows (Alternate Desktop)* e10s sandboxing for OS X (Minimal implementation)* e10s sandboxing for Linux (Minimal implementation) ------ Items above done before or during Q1 ------* EME/CDM sandboxing for Windows XP and Vista ------ Items above done before or during Q2 ------* EME/CDM sandboxing for OS X* EME/CDM sandboxing for Linux* e10s sandboxing for Windows (Low Integrity) ------ Items above planned to be done before or during Q3 ------ ------ Items above planned to be done before or during Q4 ------* e10s sandboxing for Windows (Alternate Desktop)* e10s sandboxing for OS X (Minimal implementation)* e10s sandboxing for Linux (Minimal implementation)| style="vertical-align:top;" |* EME/CDM sandboxing for Windows 7+* e10s sandboxing for OS X* e10s sandboxing for Linux* e10s sandboxing for Windows ------ Items above planned to be done before or during Gecko 39 (Q1) ------* EME/CDM sandboxing for Windows XP and Vista ------ Items above planned to be done before or during Gecko 42 (Q2) ------* EME/CDM sandboxing for OS X* EME/CDM sandboxing for Linux ------ Items above planned to be done before or during Gecko 45 (End 2015) ------|} ==Security== {| class="wikitable" width="100%"! style="text-align: center;" width: "50%;" | Current Plans !! style="text-align: center;" width: "50%;" | Previous PlansPrint Output Improvementes
|-
| style="vertical-align:top;" |* Security hooks revamp completed for Gecko internals.* Add on signing support available.* UX design for insecure password warning in Dev Edition/Dev Tools - {{bug|1135766}}* Security for DevTools: Prototype CSP (content-security policy) analysis in Dev Edition/Dev Tools - {{bug|1129999}}* SafeBrowsing Re-enable remote lookups for application reputation - {{bug|10900754}} ------ Items above done before or during Q1 ------* Security for DevTools: CSP (content-security policy) analysis in Dev Edition/Dev Tools - {{bug|1129999}}.* CSP upgrade-insecure-requests - {{bug|1139297}}.* Support detecting potentially unwanted software in SafeBrowsing - {{bug|1147212}}. ------ Items above done before or during Q2 ------* SRI (Sub-resource integrity) for 3rd party scripts and styles - {{bug|992096}}.* Evolving Referrer Policy - Implement referrer attribute for navigation and embedding elements - {{bug|999754}} and allow dynamic changes of referrer policies {{bug|1174915}}.* Containers for isolated non-private browsing sessions.* Use a lock with a strikethrough for HTTP pages that have Password Fields in the Control Center - {{bug|1179961}}.* Tracking Protection enabled by default in Private Browsing Mode {{bug|1175606}}. ------ Items above planned to be done before or during Q3 ------* Security for DevTools: CSP (content-security policy) suggestions in Dev Edition/Dev Tools.* Encryption for password manager database.* Prototype for isolated Private Browsing sessions. ------ Items above planned to be done before or during Q4 ------| style="vertical-align:top;" |* Security hooks revamp completed for Gecko internals.* Add on signing support available.* UX design for insecure password warning in Dev Edition/Dev Tools - {{bug|1135766}}* Security for DevTools: Prototype CSP (content-security policy) analysis in Dev Edition/Dev Tools - {{bug|1129999}}* SafeBrowsing Re-enable remote lookups for application reputation - {{bug|10900754}}  ------ Items above were done before or during Gecko 39 (Q1) ------* Tracking Protection Experiments - {{bug|1119891}}.* Security for DevTools: Insecure passwords warning in Dev Edition/Dev Tools - {{bug|748193}}.* SRI (Sub-resource integrity) for 3rd party scripts and styles - {{bug|992096}}.* Security for DevTools: CSP (content-security policy) analysis and suggestions in Dev Edition/Dev Tools - {{bug|1129999}}.* CSP upgrade-insecure-requests - {{bug|1139297}}.  ------ Items above planned to be done before or during Gecko 42 (Q2) ------* Containers for isolated non-private browsing sessions.* Evolving Referrer Policy.* Encryption for password manager database.* Prototype for isolated Private Browsing sessions.* Lightbeam-lite/Tracking Detection.* Security hooks revamp complete for addons/extensions.  ------ Items above planned to be done before or during Gecko 45 (End 2015) ------|} ==WebRTC / WebAudio==<b> (All these features/fixes below are landing in Nightly during these quarters) </b>{| class="wikitable" width="100%"! style="text-align: center;" width: "50%;" | Current Plans !! style="text-align: center;" width: "50%;" | Previous PlansAspect Ratio Stabilization
|-
| stylerowspan="vertical-align:top;" |* Rewrite SDP/JSEP and add BUNDLE support* Multistream, renegotiation support* VP9 codec support in WebRTC - pref'd off by default* Web Audio and WebRTC working well together * OpenH264 for Android supported (no sandbox)  ------ Items above done before or during Q1 ------* e10s blocker problems fixed* Web Audio performance improvements - phase 1: significant perf wins on all benchmarks* ICE TCP support landed in Nightly - pref'd off* IPv6 support landed in Nightly* Initial Identity support landed in Nightly* WebRTC fully integrated with Web Audio: Web Audio can now feed a PeerConnection and receive audio back from that PC  ------ Items above done before or during Q2 ------* Capturing video from a canvas (pref'd on)* Ability to change camera resolution with MediaStreamTrack.applyConstraint* Simulcast - phase colspan=1: largely focused on signaling and spec work** We chose not to land it, but it was essential for setting us up for landing simulcast in Nightly in Q4* Audio/Video refactor - paving the way for Full Duplex support and for resolving existing audio/video stack shortcomings* Web Audio performance improvements shipping in Firefox 44* IPV6 support shipping in Firefox 42|Stability ------ Items above done before or during Q3 ------* Simulcast support (as described in the IETF spec proposal) landed in Nightly* Full duplex audio support on Windows landed in Nightly** stretch goal: land full duplex audio support for a second platform (likely Mac)* New Delay Agnostic AEC landed in Nightly* Media Stream add/remove track, constructors, and clone landed in Nightly (big part of spec compliance goal)* ICE TCP pref'd on in Nightly  ------ Items above planned to be done before or during Q4 ------* VP9 support in WebRTC pref'd | GPU Process Support on by default (may or may not be the preferred codec when we pref on)* Full duplex audio support on all platforms* Add support for audio output selection * Pref on support for audio sharing (when there is audio to share during screen/window/etc sharing)* Finish stereo support in PeerConnection * Considerably better NAT traversal (including ICE proxy and UPnP support) * Audio Workers (dependent on achieving working group consensus)* Data Channels in Workers (dependent on achieving working group consensus)* Compliant with "v1.0" (or equivalent) of the WebRTC spec** Finish implementation of MediaStreamTrack constraints* getUserMedia and audio output sandboxing working (support sandboxing team, audio sandboxing may be a stretch for end of year)  | style="vertical-align:top;" |* Rewrite SDP/JSEP and add BUNDLE support* Multistream, renegotiation support* VP9 codec support in WebRTC - pref'd off by default* Web Audio and WebRTC working well together* OpenH264 for Android supported (no sandbox)  ------ Items above done before or during Q1 ------* e10s blocker problems fixed* Web Audio performance improvements - phase 1: significant perf wins on all benchmarks* ICE TCP support - pref'd off* IPv6 support* Initial Identity support* WebRTC fully integrated with Web Audio: Web Audio can now feed a PeerConnection and receive audio back from that PC  ------ Items above done before or during Q2 ------* Add support for audio sharing (when there is audio to share during screen/window/etc sharing)** landing pref'd off in Fx42** pref on before the end of the quarter* ICE TCP support - pref'd on* Simulcast - phase 1: largely focused on signaling (new SDP work, modifying the SDP helper code)* Audio/Video refactor - phase 1: paving the way for Full Duplex support and for resolving existing audio/video stack shortcomings* Web Audio perf - phase 2** resolve remaining bugs on the web audio perf meta bug** identify if there are any games (as of the start of Q3) that must work well by the end of Q3 on a specific (targeted) device that do not currently work well enough and then deliver the performance needed  ------ Items above planned to be done before or during Q3 ------* Simulcast support (as described in the IETF spec proposal) landed in Nightly* Audio/Video refactor - phase 2 (second of an estimated three phases)* Considerably better NAT traversal (including ICE proxy and UPnP support)* Audio Workers (dependent on achieving working group consensus)* Data Channels in Workers (dependent on achieving working group consensus)* Significant improvements toward spec compliance (full spec compliance with "v1.0" coming in 2016)  ------ Items above planned to be done before or during Q4 ------* Full duplex audio support* Audio output selection* Compliant with "v1.0" (or equivalent) of the WebRTC spec* getUserMedia and audio output sandboxing working (support sandboxing team)|} ==Web Compatibility== {| class="wikitable" width="100%"! style="text-align: center;" width: "50%;" | Current Plans !! style="text-align: center;" width: "50%;" | Previous Plans
|-
| style="vertical-align:top;" |
* Hold [[WebCompat Summit (2015)|WebCompat Summit]]
* [[Compatibility/Telemetry|Compatibility Telemetry]]
* Reusable Workshop + conference materials developed
------ Items above done before or during Q1 ------
* Compatibility dashboard for Telemetry, Bugzilla
* Develop automated mobile compatibility infrastructure (to be tracked on dashboard)
* Redundant GitHub webcompat/web-bugs issues data storage.
------ Items above done before or during Q2 ------
*
------ Items above planned to be done before or during Q3 ------
*
------ Items above planned to be done before or during Q4 ------
| style="vertical-align:top;" |
* Hold [[WebCompat Summit (2015)|WebCompat Summit]]
* [[Compatibility/Telemetry|Compatibility Telemetry]]
* Reusable Workshop + conference materials developed
------ Items above planned to be done before or during Gecko 39 (Q1) ------
* Compatibility dashboard for Telemetry, Bugzilla
* Develop automated mobile compatibility infrastructure (to be tracked on dashboard)
* Redundant GitHub webcompat/web-bugs issues data storage.
------ Items above planned to be done before or during Gecko 42 (Q2) ------
* Ship [https://docs.google.com/a/mozilla.com/document/d/1c5w87-KDZCP9eltjfk98GL_i-hyqQ193J86_e1L4wnQ/edit#heading=h.mje3211pzj4p MDN Web Compat Service], in conjunction with MDN + Cloud Services teams
* Get 1 other major browser vendor involved in webcompat.com
* [https://github.com/webcompat/webcompat.com/milestones/Better%20mobile%20bug%20reporting Better mobile reporting for webcompat.com]
* [https://github.com/webcompat/webcompat.com/milestones/Launch%201st%20Translated%20version%20of%20Webcompat.com i18n for webcompat.com] (at least 1 other language)
------ Items above planned to be done before or during Gecko 45 (End 2015) ------
|}
 
=Initiatives=
 
* 60fps
** Focused on producing a smooth, jank free experiences. 60fps goal is dependant on media type.
* BarrierSmash
** Ensure that accessibility features are working throughout our products.
* Candle
** Program targeted at reducing energy usage.
* CrashKill
** Improve the overall stability of Gecko and the project that rely on it.
* CritSmash
** Fix known critical security bugs.
* Electrolysis
** This is focused on providing multi-process browser (aka e10s).
* Offline
** Offline Support
* Presto
** Program targeted at improving overall load times and performance. This is resurrecting an older program that was discontinued.
* MemShrink
**Reduce memory usage (all products)
* Web Compatibility
** Improve the overall web compatibility of Gecko.
* Webify
** Reduce the webs dependence on plugins. This includes several content targeted initiatives such as the games program (Unity), [[Shumway/Roadmap|Shumway]] (Flash), [[Media/EME|MSE/EME]], WebRTC (Google Talk, Facebook Video)
** [https://wiki.mozilla.org/Platform/Games#2015_Goals Games Program]
 
------------------------------------------------------------------------
H1 2022 Update (In Progress - Expected to be completed by March 31 2022)
 
* WASM
** [https://github.com/WebAssembly/tail-call/blob/master/proposals/tail-call/Overview.md Implement Tail Call Proposal] - In Progress
** Exception Handling - Optimize representation of exception and tag objects (unboxing) - In Progress
* JA-LANG
** [https://github.com/tc39/proposal-intl-segmenter JavaScript Lang: Intl.Segmenter] - Not Started
 
[[Category:Roadmaps]]
119
edits

Navigation menu