rem: Components.interfaces.nsISupportsWString).data; 
add: Components.interfaces.nsISupportsString).data; 
context: function applySkin(){  var data = parent.hPrefWindow.wsm.dataManager.pageData["chrome://communicator/content/pref/pref-themes.xul"];  if (data.name == null)    return;  const kPrefSvcContractID = "@mozilla.org/preferences;1";  const kPrefSvcIID = Components.interfaces.nsIPref;  const kPrefSvc = Components.classes[kPrefSvcContractID].getService(kPrefSvcIID);  var theme = null;  try {    theme = kPrefSvc.getComplexValue("general.skins.selectedSkin",                                     Components.interfaces.nsISupportsWString).data;  } catch (e) {  }  if (theme == data.name) return;  try {    var reg = Components.classes["@mozilla.org/chrome/chrome-registry;1"].getService();    if (reg)      reg = reg.QueryInterface(Components.interfaces.nsIXULChromeRegistry);  }  catch(e) {}  var inUse = reg.isSkinSelected(data.name, true);  if (!theme && inUse == Components.interfaces.nsIChromeRegistry.FULL) return;  var str = Components.classes["@mozilla.org/supports-wstring;1"]                      .createInstance(Components.interfaces.nsISupportsWString);  str.data = data.name;  kPrefSvc.setComplexValue("general.skins.selectedSkin", Components.interfaces.nsISupportsWString, str);  // shut down quicklaunch so the next launch will have the new skin  var appShell = Components.classes['@mozilla.org/appshell/appShellService;1'].getService();  appShell = appShell.QueryInterface(Components.interfaces.nsIAppShellService);  try {    appShell.nativeAppSupport.isServerMode = false;  }  catch(ex) {  }  var promptService = Components.classes["@mozilla.org/embedcomp/prompt-service;1"].getService(Components.interfaces.nsIPromptService);  var strBundleService = Components.classes["@mozilla.org/intl/stringbundle;1"].getService();   strBundleService = strBundleService.QueryInterface(Components.interfaces.nsIStringBundleService);  var navbundle = strBundleService.createBundle("chrome://navigator/locale/navigator.properties");   var brandbundle = strBundleService.createBundle("chrome://global/locale/brand.properties");    if (promptService && navbundle && brandbundle) {                                                              var dialogTitle = navbundle.GetStringFromName("switchskinstitle");              var brandName = brandbundle.GetStringFromName("brandShortName");                var msg = navbundle.formatStringFromName("switchskins", [brandName], 1);                                    promptService.alert(window, dialogTitle, msg);   }}
meta: 9421	/local1/tlutelli/issta_data/temp/all_js/javascript/2006_temp/2006/9421/3703f3c61bce0c45d03ff380dc6b806f944ecb73/pref-themes.js/clean/xpfe/components/prefwindow/resources/content/pref-themes.js