Platform/Roadmap: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
(→‎Security: Updating at end of Q1 2015)
(→‎Security: Updating some items to reflect Trello)
Line 339: Line 339:
* Add on signing support available.
* Add on signing support available.
* UX design for insecure password warning in Dev Edition/Dev Tools = {{bug|1135766}}
* UX design for insecure password warning in Dev Edition/Dev Tools = {{bug|1135766}}
* Prototype CSP (content-security policy) analysis in Dev Edition/Dev Tools - {{bug|1129999}}
* Security for DevTools: Prototype CSP (content-security policy) analysis in Dev Edition/Dev Tools - {{bug|1129999}}
* Re-enable remote lookups for application reputation - {{bug|10900754}}
* Re-enable remote lookups for application reputation - {{bug|10900754}}


  ------ Items above planned to be done before or during Gecko 39 (Q1) ------
  ------ Items above planned to be done before or during Gecko 39 (Q1) ------
* Tracking Protection Experiments - {{bug|1119891}}.
* Tracking Protection Experiments - {{bug|1119891}}.
* Insecure passwords warning in Dev Edition/Dev Tools - {{bug|1118558}} {{bug|748193}}
* Security for DevTools: Insecure passwords warning in Dev Edition/Dev Tools - {{bug|1118558}} {{bug|748193}}.
* SRI (Sub-resource integrity) for 3rd party scripts and styles - {{bug|992096}}
* SRI (Sub-resource integrity) for 3rd party scripts and styles - {{bug|992096}}.
* CSP (content-security policy) analysis and suggestions in Dev Edition/Dev Tools - {{bug|1129999}}
* Security for DevTools: CSP (content-security policy) analysis and suggestions in Dev Edition/Dev Tools - {{bug|1129999}}.
* CSP upgrade-insecure-requests - {{bug|1139297}}
* CSP upgrade-insecure-requests - {{bug|1139297}}.


  ------ Items above planned to be done before or during Gecko 42 (Q2) ------
  ------ Items above planned to be done before or during Gecko 42 (Q2) ------
* Containers for isolated non-private browsing sessions.
* Containers for isolated non-private browsing sessions.
* Referrer policy experiments.
* Evolving Referrer Policy.
* Encryption for password manager database.
* Encryption for password manager database.
* Prototype for isolated Private Browsing sessions.
* Prototype for isolated Private Browsing sessions.
* Lightbeam-lite/Tracking Detection
* Lightbeam-lite/Tracking Detection.
* Security hooks revamp complete for addons/extensions.
* Security hooks revamp complete for addons/extensions.



Revision as of 20:06, 25 March 2015

Tempicon.png Firefox Platform 2015 Roadmap
Owner: Martin Best Updated: 2015-03-25
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) ------
  • Nothing here for now.

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) ------
  • Nothing here for now.

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) ------
  • Nothing here for now.

Layout

Current Plans Previous Plans
  • Enable OMT Animations on all OMTC platforms
  • -webkit CSS compatibility for fix-list sites
  • Images downscale during decode for APZC platforms
  • Vertical Text (basic text, form controls)
  • CSS Font Loading
  • 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
  • e10s Layout Support
  • 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 ------
  • Nothing here for now.

Media

Current Plans Previous Plans
  • MSE - Media Source Extensions (release Windows 7 and later/YouTube only)
  • EME - Encrypted Media Extensions (beta 38 Windows 7 and later)
------ 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) ------
  • Nothing here for now.

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) ------
  • Nothing here for now.

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
  • WebCrypto

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
  • 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
  • Re-enable remote lookups for application reputation - bug 10900754
------ Items above planned to be done before or during Gecko 39 (Q1) ------
  • Tracking Protection Experiments - bug 1119891.
  • Security for DevTools: Insecure passwords warning in Dev Edition/Dev Tools - bug 1118558 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

(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) ------
  • Nothing here for now.

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) ------
  • 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 (Flash), MSE/EME, WebRTC (Google Talk, Facebook Video)
    • Games Program