Mozilla 2: Difference between revisions

m
update weblinks
No edit summary
m (update weblinks)
Line 19: Line 19:
* Simplify the Mozilla codebase to make it smaller, faster, and easier to approach and maintain.
* Simplify the Mozilla codebase to make it smaller, faster, and easier to approach and maintain.
* Take advantage of standard C++ features and fast paths instead of XPCOM and ad hoc code.
* Take advantage of standard C++ features and fast paths instead of XPCOM and ad hoc code.
* Implement [http://ecmascript-lang.org/ JS2] on top of [[Tamarin]] via [[JavaScript:ActionMonkey|ActionMonkey]].
* Implement [http://www.ecmascript.org/ JS2] on top of [[Tamarin]] via [[JavaScript:ActionMonkey|ActionMonkey]].
* Optimization including JIT compilation for JS2 with very fast DOM access and low memory costs.
* Optimization including JIT compilation for JS2 with very fast DOM access and low memory costs.
* Tool-time and runtime enforcement of important safety properties including memory safety and confidentiality properties for both XUL and the Web.
* Tool-time and runtime enforcement of important safety properties including memory safety and confidentiality properties for both XUL and the Web.
Line 33: Line 33:
* We won't bring up Mozilla 2 on mobile devices (but volunteers are welcome to port early and often; Mozilla 2 will fit on such devices much more easily than Mozilla 1 code does).
* We won't bring up Mozilla 2 on mobile devices (but volunteers are welcome to port early and often; Mozilla 2 will fit on such devices much more easily than Mozilla 1 code does).


The goals boil down to competing more effectively with ourselves, with [http://webkit.org Webkit], and even with IE and Opera, for all three of the Web, XUL (or equivalent "widget" or "rich client platform" comparable), and C++ embeddable HTML rendering engine platforms. We should aspire to beat the competition on major time, space, and ease-of-use axes, not just show or place.
The goals boil down to competing more effectively with ourselves, with [http://webkit.org/ Webkit], and even with IE and Opera, for all three of the Web, XUL (or equivalent "widget" or "rich client platform" comparable), and C++ embeddable HTML rendering engine platforms. We should aspire to beat the competition on major time, space, and ease-of-use axes, not just show or place.


=== Ongoing Work ===
=== Ongoing Work ===
Line 45: Line 45:


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/wiki/ Mercurial] for version control
* [[Pork]] tool suite contains the source rewriting tools.  
* [[Pork]] tool suite contains the source rewriting tools.