rem:  var defaultValue = record.defaultValue;  if (typeof defaultValue == "function") defaultValue = defaultValue(prefName); 
context: function pm_setpref(prefName, value){    var prefManager = this;        function updateArrayPref() { prefManager.updateArrayPref(prefName); };    var record = this.prefRecords[prefName];    if (!ASSERT(record, "Unknown pref: " + prefName))        return null;        if ((record.realValue == null && value == record.defaultValue) ||        record.realValue == value)    {        // no realvalue, and value is the same as default value ... OR ...        // no change at all.  just bail.        return record.realValue;    }    if (value == record.defaultValue)    {        this.clearPref(prefName);        return value;    }        var defaultValue = record.defaultValue;    if (typeof defaultValue == "function")        defaultValue = defaultValue(prefName);        if (typeof defaultValue == "boolean")    {        this.prefBranch.setBoolPref(prefName, value);    }    else if (typeof defaultValue == "number")    {        this.prefBranch.setIntPref(prefName, value);    }    else if (defaultValue instanceof Array)    {        var str = this.arrayToString(value);        this.prefBranch.setCharPref(prefName, str);        value.update = updateArrayPref;    }    else    {        this.prefBranch.setCharPref(prefName, fromUnicode(value, PREF_CHARSET));    }        this.prefService.savePrefFile(null);    record.realValue = value;        return value;}
meta: 1622	/local1/tlutelli/issta_data/temp/all_js/javascript/2006_temp/2006/1622/d256ea351acacb0547763e16ea753d6bfa905c1f/pref-manager.js/clean/js/lib/pref-manager.js