You are currently viewing a snapshot of taken on April 21, 2008. Most of this content is highly out of date (some pages haven't been updated since the project began in 1998) and exists for historical purposes only. If there are any pages on this archive site that you think should be added back to, please file a bug.

nglayout project


    NGLayout is the next-generation layout engine currently under development for Netscape Navigator. Like the Navigator source, the source code for the NGLayout engine will be freely available from under the standard NPL license agreement. This technology will be integrated into the Mozilla open-source browser as soon as it is ready later this year.

  • The NGLayout engine was designed from the ground up to offer the following benefits:
    • Layout
      • Very fast; really fast; as fast as possible
      • Incremental reflow, including tables and integration with DOM
      • Backward compatibility with Netscape Navigator 4.0;
      • Support for HTML 4.0, including forms.
      • Pagination, control over running matter

    • Rendering
      • High-performance rendering enhancements
      • Double-buffered rendering on demand
      • High-end graphic capabilities, including alpha blending

    • Style
      • Full HTML 3.x style support; limited HTML 4.x style support
      • Full CSS implementation; limited CSS 2 support

    • DOM
      • Compatible with previous Netscape navigator releases.
      • Full W3C Level 1 DOM support available in JavaScript and C++, and Python through PyXPCOM.
      • Most important parts of W3C DOM Level 2

    • Parser
      • Fully backward-compatible with Navigator 4.x and Internet Explorer
      • Limited DTD support
      • Extensible tag handling

    • Embeddable
      • "WebWidget" API allows developers to embed NGLayout in their own custom applications.

    • Configurable
      • XPCom interface support allows for run-time extensions to the underlying system
      • Portions of the UI are expressable as HTML

    • Extensible
      • Dynamic tag handling, making it possible to give layout and rendering behavior to your new tags
      • XML and RDF support
      • XPCom-based implementation permitting incremental upgrade of underlying systems