fx-compat: Remove uses of defunct DOM constructors

This fixes feed translation. Getting a lot of '[object Object]' fields
from that, but I don't think it's related to these changes.
This commit is contained in:
Abe Jellinek 2022-05-18 20:01:07 -07:00
parent 09ec5b1fde
commit 948b09a27f
8 changed files with 15 additions and 29 deletions

View file

@ -301,8 +301,7 @@ var Zotero_File_Interface = new function() {
let text = obj.string;
// For Note HTML translator use body content only
if (translatorID == Zotero.Translators.TRANSLATOR_ID_NOTE_HTML) {
let parser = Components.classes['@mozilla.org/xmlextras/domparser;1']
.createInstance(Components.interfaces.nsIDOMParser);
let parser = new DOMParser();
let doc = parser.parseFromString(text, 'text/html');
text = doc.body.innerHTML;
}

View file

@ -2014,8 +2014,7 @@ var ItemTree = class ItemTree extends LibraryTree {
// For Note HTML translator use body content only
if (format.id == Zotero.Translators.TRANSLATOR_ID_NOTE_HTML) {
// Use body content only
let parser = Cc['@mozilla.org/xmlextras/domparser;1']
.createInstance(Ci.nsIDOMParser);
let parser = new DOMParser();
let doc = parser.parseFromString(text, 'text/html');
text = doc.body.innerHTML;
}

View file

@ -894,7 +894,7 @@ Zotero.Attachments = new function(){
if ((contentType === 'text/html' || contentType === 'application/xhtml+xml')
// Documents from XHR don't work here
&& Zotero.Translate.DOMWrapper.unwrap(document) instanceof Ci.nsIDOMDocument) {
&& Zotero.Translate.DOMWrapper.unwrap(document) instanceof Document) {
if (document.defaultView.window) {
// If we have a full hidden browser, use SingleFile
Zotero.debug('Getting snapshot with snapshotDocument()');
@ -1011,8 +1011,7 @@ Zotero.Attachments = new function(){
// If no title was provided, pull it from the document
if (!title) {
let parser = Components.classes["@mozilla.org/xmlextras/domparser;1"]
.createInstance(Components.interfaces.nsIDOMParser);
let parser = new DOMParser();
parser.init(null, Services.io.newURI(url));
let doc = parser.parseFromString(snapshotContent, 'text/html');
title = doc.title;

View file

@ -132,8 +132,7 @@ Zotero.Notes = new function() {
}
let note = item.getNote();
let parser = Components.classes["@mozilla.org/xmlextras/domparser;1"]
.createInstance(Components.interfaces.nsIDOMParser);
let parser = new DOMParser();
let doc = parser.parseFromString(note, 'text/html');
// Make sure this is the new note
@ -283,8 +282,7 @@ Zotero.Notes = new function() {
}
let note = toNote.note;
let parser = Components.classes['@mozilla.org/xmlextras/domparser;1']
.createInstance(Components.interfaces.nsIDOMParser);
let parser = new DOMParser();
let doc = parser.parseFromString(note, 'text/html');
// Copy note image attachments and replace keys in the new note
@ -326,8 +324,7 @@ Zotero.Notes = new function() {
}
let note = item.getNote();
let parser = Components.classes["@mozilla.org/xmlextras/domparser;1"]
.createInstance(Components.interfaces.nsIDOMParser);
let parser = new DOMParser();
let doc = parser.parseFromString(note, 'text/html');
let keys = Array.from(doc.querySelectorAll('img[data-attachment-key]'))
@ -342,8 +339,7 @@ Zotero.Notes = new function() {
};
this.hasSchemaVersion = function (note) {
let parser = Components.classes['@mozilla.org/xmlextras/domparser;1']
.createInstance(Components.interfaces.nsIDOMParser);
let parser = new DOMParser();
let doc = parser.parseFromString(note, 'text/html');
return !!doc.querySelector('body > div[data-schema-version]');
};
@ -366,8 +362,7 @@ Zotero.Notes = new function() {
this.upgradeSchemaV1 = async function (item) {
let note = item.note;
let parser = Components.classes['@mozilla.org/xmlextras/domparser;1']
.createInstance(Components.interfaces.nsIDOMParser);
let parser = new DOMParser();
let doc = parser.parseFromString(note, 'text/html');
let metadataContainer = doc.querySelector('body > div[data-schema-version]');

View file

@ -287,8 +287,7 @@ class EditorInstance {
else if (item.isNote()) {
let note = item.note;
let parser = Components.classes['@mozilla.org/xmlextras/domparser;1']
.createInstance(Components.interfaces.nsIDOMParser);
let parser = new DOMParser();
let doc = parser.parseFromString(note, 'text/html');
// Get citationItems with itemData from note metadata
@ -1054,8 +1053,7 @@ class EditorInstance {
// Zotero.debug('CI: getItems');
let note = that._item.note;
let parser = Components.classes['@mozilla.org/xmlextras/domparser;1']
.createInstance(Components.interfaces.nsIDOMParser);
let parser = new DOMParser();
let doc = parser.parseFromString(note, 'text/html');
let metadataContainer = doc.querySelector('body > div[data-schema-version]');
@ -1437,8 +1435,7 @@ class EditorInstanceUtilities {
}
}
let parser = Components.classes['@mozilla.org/xmlextras/domparser;1']
.createInstance(Components.interfaces.nsIDOMParser);
let parser = new DOMParser();
let doc = parser.parseFromString('', 'text/html');
// innerText transforms \n into <br>

View file

@ -1528,8 +1528,7 @@ Zotero.Integration.Session.prototype._insertCitingResult = async function (field
*/
Zotero.Integration.Session.prototype._processNote = async function (item) {
let text = await Zotero.Notes.getExportableNote(item);
let parser = Components.classes["@mozilla.org/xmlextras/domparser;1"]
.createInstance(Components.interfaces.nsIDOMParser);
let parser = new DOMParser();
let doc = parser.parseFromString(text, "text/html");
let citationsElems = doc.querySelectorAll('.citation[data-citation]');
let citations = [];

View file

@ -341,8 +341,7 @@ class ReaderInstance {
// For Note HTML translator use body content only
if (format.id === Zotero.Translators.TRANSLATOR_ID_NOTE_HTML) {
// Use body content only
let parser = Cc['@mozilla.org/xmlextras/domparser;1']
.createInstance(Ci.nsIDOMParser);
let parser = new DOMParser();
let doc = parser.parseFromString(text, 'text/html');
text = doc.body.innerHTML;
}

View file

@ -942,8 +942,7 @@ Zotero.Utilities.Internal = {
*/
blobToHTMLDocument: async function (blob, url) {
var responseText = await Zotero.Utilities.Internal.blobToText(blob);
var parser = Components.classes["@mozilla.org/xmlextras/domparser;1"]
.createInstance(Components.interfaces.nsIDOMParser);
var parser = new DOMParser();
var doc = parser.parseFromString(responseText, 'text/html');
return Zotero.HTTP.wrapDocument(doc, url);
},