rem: var sandbox = new Components.utils.Sandbox(this._suggestURI.prePath); 
add: var sandbox = new Cu.Sandbox(this._suggestURI.prePath); 
context:   onReadyStateChange: function() {    // xxx use the real const here    if (!this._request || this._request.readyState != 4)      return;    try {      var status = this._request.status;    } catch (e) {      // The XML HttpRequest can throw NS_ERROR_NOT_AVAILABLE.      return;    }    if (this._isBackoffError(status)) {      this._noteServerError();      return;    }    var responseText = this._request.responseText;    if (status != HTTP_OK || responseText == "")      return;    this._clearServerErrors();    // This is a modified version of Crockford's JSON sanitizer, obtained    // from http://www.json.org/js.html.    // This should use built-in functions once bug 340987 is fixed.    const JSON_STRING = /^("(\\.|[^"\\\n\r])*?"|[,:{}\[\]0-9.\-+Eaeflnr-u \n\r\t])+?$/;    var sandbox = new Components.utils.Sandbox(this._suggestURI.prePath);    function parseJSON(aString) {      try {        if (JSON_STRING.test(aString))          return Components.utils.evalInSandbox("(" + aString + ")", sandbox);      } catch (e) {}      return [];    };    var serverResults = parseJSON(responseText);    var searchString = serverResults[0] || "";    var results = serverResults[1] || [];    var comments = [];  // "comments" column values for suggestions    var historyResults = [];    var historyComments = [];    // If form history is enabled and has results, add them to the list.    if (this._includeFormHistory && this._formHistoryResult &&        (this._formHistoryResult.searchResult ==         Ci.nsIAutoCompleteResult.RESULT_SUCCESS)) {      for (var i = 0; i < this._formHistoryResult.matchCount; ++i) {        var term = this._formHistoryResult.getValueAt(i);        // we don't want things to appear in both history and suggestions        var dupIndex = results.indexOf(term);        if (dupIndex != -1)          results.splice(dupIndex, 1);        historyResults.push(term);        historyComments.push("");      }    }    // fill out the comment column for the suggestions    for (var i = 0; i < results.length; ++i)      comments.push("");    // if we have any suggestions, put a label at the top    if (comments.length > 0)      comments[0] = this._strings.GetStringFromName("suggestion_label");    // now put the history results above the suggestions    var finalResults = historyResults.concat(results);    var finalComments = historyComments.concat(comments);    // Notify the FE of our new results    this.onResultsReady(searchString, finalResults, finalComments,                        this._formHistoryResult);    // Reset our state for next time.    this._reset();  },
meta: 10234	/local1/tlutelli/issta_data/temp/all_js/javascript/2007_temp/2007/10234/78b1e6f554531e600fcd8fd6c9bc4f7c4ee23dde/nsSearchSuggestions.js/buggy/browser/components/search/nsSearchSuggestions.js