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
- extIConsole
- extIEventItem
- extIEventListener
- extIEvents
- extIExtension
- extIExtensions
- extIPreference
- extIPreferenceBranch
- extISessionStorage
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);