HTML (i.e. Composer) and plaintext editor

The editor directory contains C++ interfaces, C++ code, and XUL/Javascript for the embeddable editor component, which is used for the HTML Editor ("Composer"), for plain and html mail compose, and for text fields and text areas throughout the product.

The editor is designed like a "browser window with editing features": it adds some special classes for editing text and managing transaction undo/redo, but reuses browser code for nearly everything else.