rem: if (this.mSelectionCallback && this.mSelection.currentIndex != -1) { var file; if (this.mSelection.currentIndex < this.mDirList.length) { file = this.mDirList[this.mSelection.currentIndex].file; } else if ((this.mSelection.currentIndex - this.mDirList.length) < this.mFilteredFiles.length) { file = this.mFilteredFiles[this.mSelection.currentIndex - this.mDirList.length].file; 
add: if (this.mSelectionCallback) { var file = null; var rangeCount = this.mSelection.getRangeCount(); if (rangeCount > 0) { var rangeStart = new Object(); var rangeEnd = new Object(); this.mSelection.getRangeAt(0, rangeStart, rangeEnd); if (rangeStart.value < this.mDirList.length) { file = this.mDirList[rangeStart.value].file; } else if ((rangeStart.value - this.mDirList.length) < this.mFilteredFiles.length) { file = this.mFilteredFiles[rangeStart.value - this.mDirList.length].file; } 
context:   selectionChanged: function() {    if (this.mSelectionCallback && this.mSelection.currentIndex != -1) {      var file;      if (this.mSelection.currentIndex < this.mDirList.length) {        file = this.mDirList[this.mSelection.currentIndex].file;      } else if ((this.mSelection.currentIndex - this.mDirList.length) < this.mFilteredFiles.length) {        file = this.mFilteredFiles[this.mSelection.currentIndex - this.mDirList.length].file;      }      if (file) {        this.mSelectionCallback(file);      }    }  },
meta: 5872	/local1/tlutelli/issta_data/temp/all_js/javascript/2006_temp/2006/5872/75b9627b7ec30e6895e39f6a4de18dfe17ea6750/nsFileView.js/buggy/xpfe/components/filepicker/res/content/nsFileView.js