rem: ifile = Components.classes["@mozilla.org/file/local;1"].createInstance().QueryInterface(Components.interfaces.nsIFile); 
context:   doCommand: function(aCommand)  {    // If the document hasn't been modified,    // then just validate the current url.    if (editorShell.documentModified || gHTMLSourceChanged)    {      if (!CheckAndSaveDocument("cmd_validate", false))        return;      // Check if we saved again just in case?      if (!DocumentHasBeenSaved())    // user hit cancel?        return;    }    URL2Validate = GetDocumentUrl();    // See if it's a file:    var ifile;    try {      ifile = Components.classes["@mozilla.org/file/local;1"].createInstance().QueryInterface(Components.interfaces.nsIFile);      var ioService = GetIOService();      ioService.initFileFromURLSpec(ifile, URL2Validate);      // nsIFile throws an exception if it's not a file url    } catch (e) { ifile = null; }    if (ifile)    {      URL2Validate = ifile.path;      var vwin = window.open("http://validator.w3.org/file-upload.html",                             "EditorValidate");      // Window loads asynchronously, so pass control to the load listener:      vwin.addEventListener("load", this.validateFilePageLoaded, false);    }    else    {      var vwin2 = window.open("http://validator.w3.org/check?uri="                              + URL2Validate                              + "&doctype=Inline",                              "EditorValidate");      // This does the validation, no need to wait for page loaded.    }  },
meta: 9421	/local1/tlutelli/issta_data/temp/all_js/javascript/2006_temp/2006/9421/8f0aa5304bea87fa6844870035a748b2e6b2b2c5/ComposerCommands.js/buggy/editor/ui/composer/content/ComposerCommands.js