1
edit
No edit summary |
|||
Line 1: | Line 1: | ||
(See [[Mozilla2: | (See [[Mozilla2:Home Page|the 2004-era Mozilla 2 pages]] for older ideas.) | ||
== Project Status == | == Project Status == | ||
See the [[Mozilla 2/StatusMeetings|latest status meeting notes]]. | |||
See the [[ | |||
=== Work List === | === Work List === | ||
Line 12: | Line 9: | ||
A detailed list of items that we are working on can be found here: | A detailed list of items that we are working on can be found here: | ||
[[ | [[Mozilla 2/Work List|Mozilla 2 Work List]] | ||
=== Ends === | === Ends === | ||
Line 40: | Line 36: | ||
=== Ongoing Work === | === Ongoing Work === | ||
* [[JavaScript:ActionMonkey]]: Rewriting spidermonkey to use actionmonkey. This is also the man hg branch that Moz2 work is being done in | * [[JavaScript:ActionMonkey]]: Rewriting spidermonkey to use actionmonkey. This is also the man hg branch that Moz2 work is being done in | ||
* [[XPCOMGC]]: Switch from reference counting to a GC | * [[XPCOMGC]]: Switch from reference counting to a GC | ||
Line 46: | Line 43: | ||
=== Tools === | === Tools === | ||
The goals are ambitious, and unrealistic without new tools and approaches to the code. Here are some of the major levers we use to move mountains. | The goals are ambitious, and unrealistic without new tools and approaches to the code. Here are some of the major levers we use to move mountains. | ||
* Moz2 uses [http://www.selenic.com/mercurial/ Mercurial] for version control | * Moz2 uses [http://www.selenic.com/mercurial/ Mercurial] for version control | ||
Line 51: | Line 49: | ||
=== More Info === | === More Info === | ||
The info below has not been significantly updated since December 2006 | The info below has not been significantly updated since December 2006 | ||
==== Tasklist ==== | ==== Tasklist ==== | ||
* Import final dirlist into Hg (Benjamin/Brendan) | * Import final dirlist into Hg (Benjamin/Brendan) | ||
* Begin refactoring work/deCOMtamination/API work | * Begin refactoring work/deCOMtamination/API work | ||
** Get tools good enough for broad use (Taras) | ** Get tools good enough for broad use (Taras) | ||
** Develop hitlist of areas to refactor (Taras/Brendan) | ** Develop hitlist of areas to refactor (Taras/Brendan) | ||
** Plan for refactoring DOM APIs (JST) | ** Plan for refactoring DOM APIs (JST) | ||
* Complete ES4 spec and ref impl (Brendan/Graydon) | * Complete ES4 spec and ref impl (Brendan/Graydon) | ||
* Begin Tamarin/SM integration | * Begin Tamarin/SM integration | ||
** Extract GC from Tamarin - remove all flash deps (TBH) | ** Extract GC from Tamarin - remove all flash deps (TBH) | ||
** Ensure GC/Taramin compiles/runs on all platforms (TBH) | ** Ensure GC/Taramin compiles/runs on all platforms (TBH) | ||
** [[XPCOMGC]] object model | ** [[XPCOMGC]] object model | ||
* Rich Graphics Plan | * Rich Graphics Plan | ||
** Video Prototypes (Chris D) | ** Video Prototypes (Chris D) | ||
Line 69: | Line 73: | ||
** Accelerated Graphics Plan (Vlad) | ** Accelerated Graphics Plan (Vlad) | ||
** OpenText Improvements Plan (Pav) | ** OpenText Improvements Plan (Pav) | ||
* Security Plan (Window) | * Security Plan (Window) | ||
* Layout Plan (Roc/DBaron) | * Layout Plan (Roc/DBaron) | ||
Line 78: | Line 83: | ||
** Major areas of focus identified | ** Major areas of focus identified | ||
** Owners for each area identified | ** Owners for each area identified | ||
* Q207 | * Q207 | ||
** ES4 Spec and Ref Impl Draft | ** ES4 Spec and Ref Impl Draft | ||
Line 83: | Line 89: | ||
** Refactoring tools usable by wider audience | ** Refactoring tools usable by wider audience | ||
** Prototype VIDEO Tag | ** Prototype VIDEO Tag | ||
* Q307 | * Q307 | ||
** ES4 Spec and Ref Impl Complete | ** ES4 Spec and Ref Impl Complete | ||
Line 88: | Line 95: | ||
*** Elimination of raw pointers | *** Elimination of raw pointers | ||
*** Shift to STD C++ | *** Shift to STD C++ | ||
* Q407 | * Q407 | ||
** Tamarin GC Building on all major platforms | ** Tamarin GC Building on all major platforms | ||
** First prototype of Tamarin | ** First prototype of Tamarin | ||
** Design/Prototypes done for each major area | ** Design/Prototypes done for each major area | ||
* Q108 | * Q108 | ||
** First Alpha of Moz2/Gecko2/Fx4 released | ** First Alpha of Moz2/Gecko2/Fx4 released | ||
* Q208 | * Q208 | ||
** Fx4 Alphas | ** Fx4 Alphas | ||
** All Major design work done | ** All Major design work done | ||
* Q308 | * Q308 | ||
** First Fx4/Moz2 Beta | ** First Fx4/Moz2 Beta | ||
* Q408 | * Q408 | ||
** Betas | ** Betas | ||
* Q109 | * Q109 | ||
** Moz2/Fx4 Ship | ** Moz2/Fx4 Ship | ||
Line 124: | Line 137: | ||
* Tamarin Performance Improvements (see above) | * Tamarin Performance Improvements (see above) | ||
* JS Trust labels | * JS Trust labels | ||
By combining APIs, code, and ideas from [http://lxr.mozilla.org/mozilla/source/js/src SpiderMonkey] and [http://lxr.mozilla.org/mozilla/source/js/tamarin Tamarin], we will build a [http://developer.mozilla.org/es4 JS2] virtual machine as part of Mozilla 2. The Tamarin code contribution is a big boost to this effort, and we intend to extend it, not copy code from it. But we need more than today's Tamarin in order to avoid certain pitfalls. We will probably need all of these: | By combining APIs, code, and ideas from [http://lxr.mozilla.org/mozilla/source/js/src SpiderMonkey] and [http://lxr.mozilla.org/mozilla/source/js/tamarin Tamarin], we will build a [http://developer.mozilla.org/es4 JS2] virtual machine as part of Mozilla 2. The Tamarin code contribution is a big boost to this effort, and we intend to extend it, not copy code from it. But we need more than today's Tamarin in order to avoid certain pitfalls. We will probably need all of these: | ||
Line 179: | Line 191: | ||
[[Category:Mozilla 2]] | [[Category:Mozilla 2]] | ||
Security Ideas and Wish List for Post Gecko 1.9 | Security Ideas and Wish List for Post Gecko 1.9 | ||
*attack surface reduction | |||
*content restrictions, <noscript>, jail | * attack surface reduction | ||
*next level private browsing | * content restrictions, <noscript>, jail | ||
*low privilege/protected mode, cross platform | * next level private browsing | ||
*xbl2 | * low privilege/protected mode, cross platform | ||
*security review for every feature lightweight process to make it manageable | * xbl2 | ||
*offline stuff | * security review for every feature lightweight process to make it manageable | ||
*profile encryption | * offline stuff | ||
*identity management | * profile encryption | ||
*platform native keychain | * identity management | ||
*all critical – moderate resolved through every major release | * platform native keychain | ||
*documenting and enforcing invariants | * all critical – moderate resolved through every major release | ||
**what is allows to happen when | |||
**assert if you do that | * documenting and enforcing invariants | ||
*clean up assertions | ** what is allows to happen when | ||
**ones remaining really mean something | ** assert if you do that | ||
*regression test suite for security, pages to assert, measure leaks | * clean up assertions | ||
*better compartmentalization of javascript between chrome and content | ** ones remaining really mean something | ||
*addons/plugins | * regression test suite for security, pages to assert, measure leaks | ||
*out of process plugins | * better compartmentalization of javascript between chrome and content | ||
* addons/plugins | |||
* out of process plugins |
edit