SMILE

This article covers features introduced in SeaMonkey 2

SMILE is a JavaScript library designed to help developers build extensions using terminology and interfaces that are familiar to them.

SMILE is about making it easier for extension developers to be productive, by minimizing some of the XPCOM formality and adding some "modern" JavaScript ideas. We want to start with areas that will provide the most benefit.

SMILE has a smileIApplication interface that implements all the functions of extIApplication. The library has also been implemented in Firefox ("FUEL") and in Thunderbird ("STEEL").

Objects

extIApplication Objects

smileIApplication Objects

XPCOM

Although the extIApplication object is preloaded into XUL scripts, it is not preloaded into JavaScript XPCOM code. The object needs to be accessed like any other XPCOM service:

var Application = Components.classes["@mozilla.org/smile/application;1"].getService(Components.interfaces.smileIApplication);