rem: data = data.value.QueryInterface(Components.interfaces.nsISupportsWString); 
add: data = data.value.QueryInterface(Components.interfaces.nsISupportsString); 
context: function readFromClipboard(){  var url;  try {    // Get clipboard.    var clipboard = Components.classes["@mozilla.org/widget/clipboard;1"]                              .getService(Components.interfaces.nsIClipboard);    // Create tranferable that will transfer the text.    var trans = Components.classes["@mozilla.org/widget/transferable;1"]                          .createInstance(Components.interfaces.nsITransferable);    trans.addDataFlavor("text/unicode");    clipboard.getData(trans, clipboard.kSelectionClipboard);    var data = {};    var dataLen = {};    trans.getTransferData("text/unicode", data, dataLen);    if (data) {      data = data.value.QueryInterface(Components.interfaces.nsISupportsWString);      url = data.data.substring(0, dataLen.value / 2);    }  } catch (ex) {  }  return url;}
meta: 9421	/local1/tlutelli/issta_data/temp/all_js/javascript/2006_temp/2006/9421/428a9f7f94813f888a9bc137a4782978ba91d0d1/navigator.js/clean/suite/browser/navigator.js