|
Firefox Platform 2015 Roadmap |
Owner: Martin Best |
Updated: 2015-01-26 |
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. |
Related Links:
Teams
Accessibility
Current Plans |
Previous Plans
|
[everything below not finalized]
- Screen Reader v1.0 for FxOS.
- Integrate and expand FxOS accessibility test coverage.
- Webspeech TTS hookup on Windows
- Instantiate "BarrierSmash" program
------ Items above planned to be done before or during Gecko 39 (Q1) ------
- Accessibility support for E10s. (stretch targeting Gecko 40)
- Accessibility Metrics
------ Items above planned to be done before or during Gecko 42 (Q2) ------
- Accessibility Dev Tool.
- Accessibility Training Materials
- Web Facing Accessibility API
------ Items above planned to be done before or during Gecko 45 (End 2015) ------
|
|
DOM
Current Plans |
Previous Plans
|
- Service Workers
- IndexedDB in Workers
- Picture Tag
- requestSync (FxOS-only precursor to BackgroundSync)
- TCP Socket in Workers
- e10s (drag-and-drop, clipboard, leak detection and reporting)
------ Items above planned to be done before or during Gecko 39 (Q1) ------
- BackgroundSync
- Pre-rendering API
- Shadow DOM
- Custom Elements
- Web Manifest
------ Items above planned to be done before or during Gecko 42 (Q2) ------
- 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)
- Broadcast channel
- Message Port
- Remove appcache
- Directory upload
- DOM bits of Object.observe
- Get rid of child array
- WebGL in Workers
- Web Audio in Workers
------ Items above planned to be done before or during Gecko 45 (End 2015) ------
|
e10s
Current Plans |
Previous Plans
|
- e10s Milestone 4 completed in Gecko 38 (buglist)
- e10s Milestone 5 completed in Gecko 38 (buglist)
- e10s Milestone 6 completed in Gecko ~39 (buglist)
- Addon migration / CPOW mitigation tools
------ Items above planned to be done before or during Gecko 39 (Q1) ------
- e10s rollout to Aurora ~39
- e10s Milestone 7 completed in Nightly ~39 (buglist)
- e10s Milestone 8 completed in Nightly ~39 (buglist)
- e10s rollout to Beta ~39
------ Items above planned to be done before or during Gecko 42 (Q2) ------
- e10s rollout to Release
- milestone completion placeholder - additional milestones will be defined later in the year for winding the e10s project down.
------ Items above planned to be done before or during Gecko 45 (End 2015) ------
|
|
Graphics
Current Plans |
Previous 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 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
------ Items above planned to be done before or during Gecko 45 (End 2015) ------
|
|
JavaScript
Current Plans |
Previous Plans
|
- 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
Current Plans |
Previous Plans
|
- Enable OMT Animations on all OMTC platforms
- -webkit CSS compatibility for fix-list sites
- Images downscale during decode
- Vertical Text (basic text, form controls)
- CSS Font Loading
- e10s Layout Support
- CSS Object fit and position
- CSS display:contents
- CSS scroll snapping
------ Items above planned to be done before or during Gecko 39 (Q1) ------
- Web Animation API
- HTML5 <canvas> improvements
- Vertical Text (tables)
- CSS 3D Transforms ( plane splitting & other interop improvements )
- CSS Ruby
------ 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
------ Items above planned to be done before or during Gecko 45 (End 2015) ------
------ Items above planned to be done before end 2015 but may get reprioritized ------
|
|
Media
Current Plans |
Previous Plans
|
- MSE - Media Source Extensions (nightly)
- EME - Encrypted Media Extensions (nightly)
------ Items above planned to be done before or during Gecko 39 (Q1) ------
- MSE (release)
- EME (release)
- Daala
------ Items above planned to be done before or during Gecko 42 (Q2) ------
- MSE improvements
- EME continued development
- Video quality, performance and memory consumption
- MP4 demuxer written in Rust
------ Items above planned to be done before or during Gecko 45 (End 2015) ------
|
- This space intentionally left blank
|
Mobile Platform
Current Plans |
Previous Plans
|
- 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
Current Plans |
Previous Plans
|
- 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
Current Plans |
Previous Plans
|
- OneCRL
- Phase 1 of CA program migration to SalesForce
- SHA-1 warnings
------ Items above planned to be done before or during Gecko 39 (Q1) ------
- Name constraints on root CAs
- OneCRL based on (subject, public key)
- Certificate observatory
- Finish removal of 1024-bit roots
------ Items above planned to be done before or during Gecko 42 (Q2) ------
- WebCrypto hardware-backed keys
- Certificate transparency (behind a pref)
- Mozilla::pkix integration with NSS
- Intermediate certs in SalesForce
------ Items above planned to be done before or during Gecko 45 (End 2015) ------
- TLS 1.3
- Certificate chain collection from browsers
|
|
Sandboxing
Current Plans |
Previous Plans
|
- EME/CDM sandboxing for Windows 7+
- e10s sandboxing for Windows
- e10s sandboxing for OS X
- e10s sandboxing for Linux
------ 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
Current Plans |
Previous Plans
|
- SRI (Sub-resource integrity) for 3rd party scripts and styles.
- CSP (content-security policy) suggestions in Dev Edition/Dev Tools.
- Insecure passwords warning in Dev Edition/Dev Tools.
- Tracking Protection Experiments - bug 1119891.
- Security hooks revamp completed for Gecko internals.
- Add on signing support available.
------ Items above planned to be done before or during Gecko 39 (Q1) ------
- Encryption for password manager database.
- Prototype for isolated Private Browsing sessions.
------ Items above planned to be done before or during Gecko 42 (Q2) ------
- Containers for isolated non-private browsing sessions.
- Lightbeam-lite/Tracking Detection
- Security hooks revamp complete for addons/extensions.
- Referer policy experiments.
------ Items above planned to be done before or during Gecko 45 (End 2015) ------
|
|
WebRTC / WebAudio
(All these features/fixes below are landing in Nightly during these quarters)
Current Plans |
Previous Plans
|
- Rewrite SDP/JSEP and add BUNDLE support
- Multistream, renegotiation support
- VP9 codec support in WebRTC (we may ship VP9 pref'd off by default)
- Web Audio and WebRTC working well together
------ Items above planned to be done before or during Gecko 39 (Q1) ------
- OpenH264 for Android working well
- Audio workers
- Web Audio performance improvements
- Simulcast
- e10s problems fixed
- All echo and audio problems in WebRTC 1:1 calls resolved
------ Items above planned to be done before or during Gecko 42 (Q2) ------
- getUserMedia and audio output sandboxing working
- Considerably better NAT traversal (including ICE proxy and UPnP support)
- Audio output selection
- Data channels in workers
- Compliant with "v1.0" (or equivalent) of the WebRTC spec
------ Items above planned to be done before or during Gecko 45 (End 2015) ------
|
|
Web Compatibility
Current Plans |
Previous Plans
|
------ 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) ------
------ 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
- 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 (Flash), MSE/EME, WebRTC (Google Talk, Facebook Video)
- Games Program