|
|
(90 intermediate revisions by 19 users not shown) |
Line 1: |
Line 1: |
| <section begin="summary" />{{RoadmapSummary
| | Old content removed. See related more up to date page: [[Platform/2022PlannedWork]]. |
| |icon=Tempicon.png
| |
| |pagelocation=Platform/Roadmap
| |
| |pagetitle=Firefox Platform 2015 Roadmap
| |
| |owner=Martin Best
| |
| |updated=December 2014
| |
| |status=Draft
| |
| |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.}}
| |
| <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://wiki.mozilla.org/Platform/Roadmap2012 2012 Platform Roadmap]
| |
| | |
| | |
| =Teams=
| |
| ==Accessibility==
| |
| | |
| {| class="wikitable" width="100%"
| |
| ! style="text-align: center;" width: "50%;" | Current Plans !! style="text-align: center;" width: "50%;" | Previous Plans
| |
| |-
| |
| | style="vertical-align:top;" |
| |
| [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) ------
| |
| | style="vertical-align:top;" |
| |
| * Nothing here for now.
| |
| |}
| |
| | |
| ==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;" |
| |
| * 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==
| |
| | |
| {| class="wikitable" width="100%"
| |
| ! style="text-align: center;" width: "50%;" | Current Plans !! style="text-align: center;" width: "50%;" | Previous Plans
| |
| |-
| |
| | style="vertical-align:top;" |
| |
| | |
| * e10s Milestone 4 completed in Gecko 38 ([http://is.gd/XKZkQ5 buglist])
| |
| * e10s Milestone 5 completed in Gecko 38 ([http://is.gd/7MuzQK buglist])
| |
| * e10s Milestone 6 completed in Gecko ~39 ([http://is.gd/yOVr9r 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 ([http://is.gd/BNgUVN buglist])
| |
| * e10s Milestone 8 completed in Nightly ~39 ([http://is.gd/jUNCg5 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) ------
| |
| | style="vertical-align:top;" |
| |
| | |
| |}
| |
| | |
| ==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;" |
| |
| * 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) ------
| |
| | style="vertical-align:top;" |
| |
| * Nothing here for now.
| |
| |}
| |
| | |
| ==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;" |
| |
| * 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) ------
| |
| | style="vertical-align:top;" |
| |
| * Nothing here for now.
| |
| |}
| |
| | |
| ==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;" |
| |
| * 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) ------
| |
| | |
| * CSS Masking
| |
| | |
| ------ Items above planned to be done before end 2015 but may get reprioritized ------
| |
| | |
| | style="vertical-align:top;" |
| |
| * Nothing here for now.
| |
| |}
| |
| | |
| ==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;" |
| |
| * 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) ------
| |
| | style="vertical-align:top;" |
| |
| * This space intentionally left blank
| |
| |}
| |
| | |
| ==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;" |
| |
| * 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) ------
| |
| | style="vertical-align:top;" |
| |
| * Nothing here for now.
| |
| |}
| |
| | |
| ==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}})
| |
| * 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) ------
| |
| | style="vertical-align:top;" |
| |
| * Nothing here for now.
| |
| |}
| |
| | |
| ==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;" |
| |
| * 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
| |
| | |
| | style="vertical-align:top;" |
| |
| * WebCrypto
| |
| |}
| |
| | |
| ==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;" |
| |
| * 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) ------
| |
| | style="vertical-align:top;" |
| |
| |}
| |
| | |
| ==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;" |
| |
| * 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) ------
| |
| | style="vertical-align:top;" |
| |
| * Nothing here for now.
| |
| |}
| |
| | |
| ==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;" |
| |
| * 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) ------
| |
| | style="vertical-align:top;" |
| |
| * Nothing here for now.
| |
| |}
| |
| | |
| ==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 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) ------
| |
| | style="vertical-align:top;" |
| |
| * Nothing here for now.
| |
| |}
| |
| | |
| =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]
| |
| | |
| | |
| [[Category:Roadmaps]]
| |