Platform/2012-Q3-Goals

From MozillaWiki
Jump to: navigation, search

General Goals

GFX

  • [MISSED] stop using Java screenshotting in Fennec for Android
    • we agree that we want to do this, but we have concerns that the pieces will be there, but we'll still be unable to turn off java screenshotting because of performance problems.
    • alternative: "implement multi-resolution tiles"
  • [DONE] complete asynchronous panning and zooming with OMTC for B2G/gonk
  • [DONE] Ship OMTC on B2G/gonk for basecamp
  • [DONE] Be able to use Skia for canvas drawing on non-accelerated Windows computers
    • gw280 to gather skia software-only performance numbers by Tuesday 3 July to help make a decision
    • carryover - do we care at this point, given the below item?
  • [MISSED] Be able to use Skia for content drawing on Android
  • [DONE] Remove the non-Azure canvas implementation
    • Use the Cairo Azure backend everywhere there isn't a more specific backend
  • [MISSED] OMTC cross-platform refactor
    • Risky!
    • Not back-outable. No OMTC or "New OMTC" only.
    • Needed so we can enable OMTC everywhere.
  • [MISSED] Have a clean, dependable, extensible, all-platform, free-of-adverse-cache-effects driver blacklisting solution.
  • Other important Q3 work
    • WebGL work. https://etherpad.mozilla.org/webgl-q3-goals
    • Enable Azure for content everywhere
    • Snappy work
    • Other B2G work as required
    • Moving other pieces of work off the main thread
    • BugKill - ???
    • Increase number of regular contributors


Layout

  • [CARRY OVER] Readability 2.0
    • [DONE] High-DPI on MacOSX Retina
    • [DONE] Reflow-on-Zoom landed
    • [DONE] APK Fonts on Android landed
  • [CARRY OVER] Complete Graphite Fonts Project (bug 631479)
    • [DONE] Updated Libraries from SIL
  • [CARRY OVER] Invalidation via DisplayList Analysis (bug 539356)
    • [DONE] Landed in Q3
  • [CARRY OVER] CSS Flexbox feature/spec (bug 666041)
    • [DONE] Landed in Q3
  • [CARRY OVER] Add image visibility API (bug 689623)
    • [DONE] Try Server Builds for testing
  • [AT RISK] Continue View class removal (bug 337801)
  • [CARRY OVER] CSS Vertical Text (bug 145503)
    • [DONE] First Prototypes
  • [CARRY OVER] CSS Pagination (bug 775628)
  • [CARRY OVER] CSS Variables (bug 773296)
  • [CARRY OVER] Implement the auto value for the HTML dir attribute (bug 548206)
    • [DONE] patch needs r?
  • [CARRY OVER] CSS 2.1 Test Suite v.2
  • [CARRY OVER] CSS Spec, Unprefixing & Testing (bug 775235)
  • [DONE] Conditional Rules feature & spec (bug 649740)
  • [CARRY OVER] Scoped Style Sheets (bug 508725)
  • [CARRY OVER] SVG Text (bug 655877)
    • [DONE] lots of dependent bugs closed/fixed
  • [CARRY OVER] Off Main Thread Animations (bug 755084, bug 706179)
    • [DONE] lots of progress for B2G
  • [AT RISK] Layout Azure Conversion (bug 776197 - needs staffing)
  • [CARRY OVER] Support for Complex Scripts on Mobile
  • Specs:
    • Web Animations (FPWD)
    • CSS Flexbox (CR)
    • CSS Cascade L3 (spec scoped style)
    • CSS Conditional L3 (CR)
    • CSS Text L3 (LCWD)
    • Selectors L4


Media

  • [DONE] WebRTC landed for desktop in mozilla-central behind a pref in time for Firefox 18. (This includes both PeerConnection and full getUserMedia, but not UI.)
    • We wound up landing DataChannels and basic UI as well
  • [DONE] Platform decoders running on the Otoro device will playback videos at a similar performance metric to the equivalent android player
  • [DONE] For a specific list of Android phones (ICS/JB devices), platform decoders running in Firefox will playback videos at a similar performance metric to the videos playing back in the default browser on the same phone
  • [DONE] Publish (to one or more of our newsgroups) a plan for supporting the Web Audio API. (We're still hoping to make improvements to the spec.)

Mission Note: The media team will support B2G's efforts to ship B2G version 1 above any goals for this quarter.

DOM

  • [DONE] Stop leaks by adding purple buffer support for cycle collected non-nsISupports objects.
  • [DEFERRED] Speed up cycle collection by representing a DOM tree as a single node in the cycle collector graph.
    • A good bit of investigation and experimentation was done here, but it's a harder problem than we believed it would be, and security bug fixing took precedence over completing this.
  • [MISSED] New DOM bindings for a HTML Element.
    • 95% done, but didn't get reviews in time for the end of the quarter, and even if we had gotten that, we would not land this a week before branching for 19. We'll finish this up early in Q4.

WebAPI

  • [DONE] Implement cookie-jars for cookies, IndexedDB, localStorage, permission manager and appcache (bug 756644)
  • [DONE] Implement app:// protocol (part of implementing trusted apps, bug 769350)
  • [DONE] Finalize multiprocess blob support for IndexedDB, DeviceStorage and Message Manager (bug 759427)
  • [DEFERRED] Temporary storage for IndexedDB (bug 785884)
  • [DEFERRED] Implement unified offline storage quota system, putting IndexedDB and localStorage under this quota system (bug 767944)
  • [DONE] Zip file contents support using blobs (bug 772434)
  • [DONE] DeviceStorage improvements (expose available (free) size for each device storage, storage[x].removable (bug 765498)
  • [DEFERRED] FileHandle improvements
  • [DONE] DeviceStorage onchange notifications (bug 763976)
  • [DEFERRED] DeviceStorage editable features (bug 752724)
  • [DONE] String encoding/decoding API (bug 764234) (completed with community help)

JS

  • [DONE] Land IonMonkey
  • [MISSED] Incremental sweeping by compartment [bug 780960] - not done but is very close to done.
  • [MISSED] Generational GC: get automated safety checks running and green
  • [MISSED] Finish properties/elements split
  • [DONE] ES6: direct proxies [bug 703537]
  • [MISSED] ES6: modules [bug 568953]

Accessibility

  • [DONE] Preliminary AccessFu support in B2G.
    • not landed (targeting v2)
  • [DEFERRED] TTS Web API
    • [DONE] Implementation of TTS for b2g. Focus here morphed to just getting what we need for the B2G goal, and helping with B2G blockers (crash reporting work).
  • [MISSED] Performance: add two additional measures of a11y's effect on perf. Additionally, show measurable perf increase of at least 10% on two measures.
    • Minor performance work landed but there was no precise measuring.

Perf

  • [CARRY OVER] 736144: Async local storage via blocking pageload
  • [DONE] 563742: provide js file api (in workers) for all supported platforms.
  • [CARRY OVER] 662397: Reorder xul.dll on windows to speed up startup
  • [CARRY OVER] 662444: call exit(0) on shutdown
  • [CARRY OVER] 661881: Bundle about-telemetry extension to ship with Firefox
  • [ON TRACK] 769241: Make libunwind work on ARM
  • [CARRY OVER] Prevent, to a reasonable extent, background tabs from starving the main thread
  • [DONE] 770317: Track disk + network by thread on testing infrastructure

Networking

  • [MISSED] Remove all synchronous disk cache APIs, or at least disable their use on the main thread, on mozilla-central.
    • Nick Hurley and Michal Novotny will lead this effort.
    • We just didn't get this done, lots of complications.
  • [DONE] 766973: Don't allow synchronous DNS resolution from the main thread.
    • Josh Aas will lead this effort.
    • We will not be able to stop the Java plugin from being able to do proxy resolution that may result in DNS resolution on the main thread, but all other cases will be taken care of and a plan is in place for Java.
  • [MISSED] 105843: Land code to not necessarily delete the cache after unclean shut-down on mozilla-central.
    • Nick Hurley and Michal Novotny will lead this effort.
    • Brian Bondy is helping with this.
    • We just won't get this done in time.
  • [DONE] Have Stone Ridge reliably reporting basic performance results to graph server for all three top-tier platforms.
    • Nick Hurley will lead this effort.
  • [MISSED] 768705, 704447, 766817: Fix some remaining significant WebSockets bugs.
    • Jason Duell will lead this effort.
    • Priority given to B2G-specific efforts that came up, this goal was abandoned.
  • [DONE] 702122: Land a DASH for WebM implementation in mozilla-central.
    • Steve Workman will lead this effort.
    • Landed support for loading video via DASH and video switching. Haven't actually landed an adaptive algorithm yet.
  • [DONE] 737470: Ship SPDY v3 on by default.
    • Patrick McManus will lead this effort.
  • [MISSED] Resolve all networking security bugs that received a designation of sg:moderate or higher more than six weeks ago. This is a permanent goal for the group.
    • Brian Smith will lead this effort.
    • Priority given to B2G-specific efforts that came up, this goal was abandoned. We only have one applicable bug remaining, however.

Plugins

Mobile

  • [DONE] 741808 turn on safe browsing
  • [DONE] 786380 improve updater
  • [DONE] 759945 h264 support for ICS/JB
  • [DONE] 687267 Flash support on Honeycomb

B2G

Research