|
|
Line 1: |
Line 1: |
| {{outdated}}
| |
| <section begin="summary" />{{RoadmapSummary | | <section begin="summary" />{{RoadmapSummary |
| |icon=Tempicon.png | | |icon=Tempicon.png |
| |pagelocation=Platform/Roadmap | | |pagelocation=Platform/Roadmap |
| |pagetitle=Firefox Platform 2015 Roadmap | | |pagetitle=Firefox Platform H1 2022 Roadmap |
| |owner=Martin Best | | |owner=Andrew Overholt |
| |updated=December 2014 | | |updated=March 2022 |
| |status=Draft | | |status=Complete |
| |description=This roadmap outlines the current direction for Firefox Platform development through 2015. The following document is subject to change at anytime. It is also not a commitment to ship a features but rather an intent to implement and land them on by default in the nightly version of Firefox unless otherwise stated.}} | | |description=This roadmap outlines the current direction for Firefox Platform development through the first half of 2022. The following document is subject to change at anytime. It is also not a commitment to ship a 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" /> | | <section end="summary" /> |
|
| |
|
| |
|
| Related Links: | | 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://wiki.mozilla.org/RapidRelease/Calendar Firefox Release Calendar] |
| * [https://wiki.mozilla.org/Platform/Roadmap2012 2012 Platform Roadmap] | | * [https://firefox-source-docs.mozilla.org/contributing/pocket-guide-shipping-firefox.html Pocket Guide: Shipping Firefox] |
|
| |
|
| | | Programs and corresponding initiatives |
| =Teams= | | {| class="wikitable" |
| | | |- |
| Definition of Done: All listed features are present in our nightly version of Firefox. The features must then go through the standard quality assurance process before appearing in a release channel.
| | ! Program!! Initiative |
| | | |- |
| ==Accessibility== | | | rowspan=14 colspan=1|APIs |
| | | | Support Observable Array type in WebIDL |
| {| class="wikitable" width="100%"
| | |- |
| ! style="text-align: center;" width: "50%;" | Current Plans !! style="text-align: center;" width: "50%;" | Previous Plans
| | | OffscreenCanvas |
| | |- |
| | | Investigate/prototype Container Queries |
| | |- |
| | | Client-side Print Support for Gsuite (Named Pages) |
| | |- |
| | | [https://tabatkins.github.io/specs/svg-params/#setting Investigate, Spec, Plan "Context-paint” for adding custom external colors to SVG icons] |
| | |- |
| | | [https://drafts.csswg.org/scroll-animations-1/ Scroll-linked animations (M2) Improve the performance 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=1|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 |
| | |- |
| | | rowspan=1 colspan=1|Internationalization (i18n) |
| | | Unify Segmentation |
| | |- |
| | | rowspan=12 colspan=1|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 |
| | |- |
| | | [https://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 |
| | |- |
| | | rowspan=15 colspan=1|Quality |
| | | Run tests on Linux under Wayland |
| | |- |
| | | Fix top quality issues with PDF.js |
| | |- |
| | | Automatic backfilling and retrying for test failures |
| |- | | |- |
| | style="vertical-align:top;" |
| | | Use test selection results to speed up sheriffs' decisions or partly automate them |
| ------ 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 to be done before 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 Plans
| |
| |- | | |- |
| | style="vertical-align:top;" |
| | | Build more automation around handling of intermittent tests |
| * 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 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 Plans
| |
| |- | | |- |
| | style="vertical-align:top;" |
| | | Enable Cross Translation Unit (CTU) static analysis |
| | |
| * 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 ([http://is.gd/jUNCg5 buglist])
| |
| * 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 Plans
| |
| |- | | |- |
| | style="vertical-align:top;" |
| | | Implement before/after/after_landing static analysis method |
| * (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 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
| |
| |- | | |- |
| | style="vertical-align:top;" | | | | Add static analysis to reduce unnecessary and/or expensive headers |
| * 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 to be done before or during Q3 ------
| |
| *
| |
| ------ Items above planned to be done before or during Q4 ------
| |
| | 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 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 Plans
| |
| |- | | |- |
| | style="vertical-align:top;" |
| | | Revitalize Color Management |
| * 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 Plans
| |
| |- | | |- |
| | style="vertical-align:top;" |
| | | Wide Gamut Color Support |
| * 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 Plans
| |
| |- | | |- |
| | style="vertical-align:top;" |
| | | High Dynamic Range (HDR) Support (MacOS) |
| * 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 (Q1) ------
| |
| * Standalone WebRTC library usable by third parties Loop client prototype for major platforms (iOS, Android, Windows)
| |
| * 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;" |
| | | Downloadable Blocklist Support on Mobile |
| * 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 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 Plans
| |
| |- | | |- |
| | style="vertical-align:top;" |
| | | Pinch - Zoom Feature Repairs/Enhancements |
| * 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="vertical-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 Plans
| |
| |- | | |- |
| | style="vertical-align:top;" |
| | | Print Output Improvementes |
| * 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 Plans
| |
| |- | | |- |
| | style="vertical-align:top;" |
| | | Aspect Ratio Stabilization |
| * 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 Plans
| |
| |- | | |- |
| | style="vertical-align:top;" | | | | rowspan=1 colspan=1|Stability |
| * Rewrite SDP/JSEP and add BUNDLE support
| | | GPU Process Support on Android |
| * 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 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
| |
| | |
| ------ 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 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]] | | [[Category:Roadmaps]] |