From 24bf583b787d21117000336e4f67ddc9ac7b1deb Mon Sep 17 00:00:00 2001 From: Dan Stillman Date: Mon, 10 Jun 2024 05:48:09 -0400 Subject: [PATCH] fx128: Remove uses of nsIScriptableUnicodeConverter Replace convertToByteArray() and convertToInputStream() --- .../content/zotero/ZoteroProtocolHandler.jsm | 16 ++++++++-------- .../zotero/xpcom/utilities_internal.js | 19 +++++-------------- 2 files changed, 13 insertions(+), 22 deletions(-) diff --git a/chrome/content/zotero/ZoteroProtocolHandler.jsm b/chrome/content/zotero/ZoteroProtocolHandler.jsm index 9f732b0ff3..edb854aadc 100644 --- a/chrome/content/zotero/ZoteroProtocolHandler.jsm +++ b/chrome/content/zotero/ZoteroProtocolHandler.jsm @@ -977,10 +977,10 @@ function ZoteroProtocolHandler() { this.owner = (secMan.getCodebasePrincipal || secMan.getSimpleCodebasePrincipal)(this.URI); this._isPending = true; - var converter = Components.classes["@mozilla.org/intl/scriptableunicodeconverter"]. - createInstance(Components.interfaces.nsIScriptableUnicodeConverter); - converter.charset = "UTF-8"; - this._stream = converter.convertToInputStream(data); + this._stream = Cc["@mozilla.org/io/string-input-stream;1"] + .createInstance(Ci.nsIStringInputStream); + this._stream.setUTF8Data(data); + this.contentLength = this._stream.available(); } @@ -1462,10 +1462,10 @@ AsyncChannel.prototype = { listenerWrapper.onStartRequest(this); - let converter = Components.classes["@mozilla.org/intl/scriptableunicodeconverter"] - .createInstance(Components.interfaces.nsIScriptableUnicodeConverter); - converter.charset = "UTF-8"; - let inputStream = converter.convertToInputStream(data); + let inputStream = Cc["@mozilla.org/io/string-input-stream;1"] + .createInstance(Ci.nsIStringInputStream); + inputStream.setUTF8Data(data); + listenerWrapper.onDataAvailable(this, inputStream, 0, inputStream.available()); listenerWrapper.onStopRequest(this, this.status); diff --git a/chrome/content/zotero/xpcom/utilities_internal.js b/chrome/content/zotero/xpcom/utilities_internal.js index 7b67532742..4626eeadb9 100644 --- a/chrome/content/zotero/xpcom/utilities_internal.js +++ b/chrome/content/zotero/xpcom/utilities_internal.js @@ -82,11 +82,7 @@ Zotero.Utilities.Internal = { let ch = Components.classes["@mozilla.org/security/hash;1"] .createInstance(Components.interfaces.nsICryptoHash); if (typeof strOrFile == 'string') { - var converter = Components.classes["@mozilla.org/intl/scriptableunicodeconverter"] - .createInstance(Components.interfaces.nsIScriptableUnicodeConverter); - converter.charset = "UTF-8"; - var result = {}; - var data = converter.convertToByteArray(strOrFile, result); + let data = new TextEncoder().encode(strOrFile); ch.init(ch.MD5); ch.update(data, data.length); } @@ -200,11 +196,7 @@ Zotero.Utilities.Internal = { * @return {String} */ sha1: function (str) { - var converter = Components.classes["@mozilla.org/intl/scriptableunicodeconverter"] - .createInstance(Components.interfaces.nsIScriptableUnicodeConverter); - converter.charset = "UTF-8"; - var result = {}; - var data = converter.convertToByteArray(str, result); + var data = new TextEncoder().encode(str); var ch = Components.classes["@mozilla.org/security/hash;1"] .createInstance(Components.interfaces.nsICryptoHash); ch.init(ch.SHA1); @@ -226,10 +218,9 @@ Zotero.Utilities.Internal = { var deferred = Zotero.Promise.defer(); // Get input stream from POST data - var unicodeConverter = Components.classes["@mozilla.org/intl/scriptableunicodeconverter"] - .createInstance(Components.interfaces.nsIScriptableUnicodeConverter); - unicodeConverter.charset = "UTF-8"; - var is = unicodeConverter.convertToInputStream(data); + var is = Cc["@mozilla.org/io/string-input-stream;1"] + .createInstance(Ci.nsIStringInputStream); + is.setUTF8Data(data); // Initialize stream converter var converter = Components.classes["@mozilla.org/streamconv;1?from=uncompressed&to=gzip"]