From 071162f914ace202d2ef5cf1526fac01de73b60a Mon Sep 17 00:00:00 2001 From: Dan Stillman Date: Thu, 6 Jul 2023 22:48:12 -0400 Subject: [PATCH] Remove styled-textbox XBL binding --- .../zotero/bindings/styled-textbox.xml | 813 ------------------ chrome/skin/default/zotero/zotero.css | 14 - 2 files changed, 827 deletions(-) delete mode 100644 chrome/content/zotero/bindings/styled-textbox.xml diff --git a/chrome/content/zotero/bindings/styled-textbox.xml b/chrome/content/zotero/bindings/styled-textbox.xml deleted file mode 100644 index 6b075ffb02..0000000000 --- a/chrome/content/zotero/bindings/styled-textbox.xml +++ /dev/null @@ -1,813 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - RTF (cleanup) - //[/<\/p>(?!\s*$)/g, "\\par{}"], - //[/ /g, " "], - //[/\u00A0/g, " "], - this._htmlRTFmap = [ - [/
/g, "\x0B"], - [/ <\/span>/g, "\\tab{}"], - [/‘/g, "‘"], - [/’/g, "’"], - [/“/g, "“"], - [/”/g, "”"], - [/ /g, "\u00A0"], - [/"(\w)/g, "“$1"], - [/([\w,.?!])"/g, "$1”"], - [/

/g, ""], - [/<\/?div[^>]*>/g, ""] - ]; - - // Atomic units, RTF -> HTML (cleanup) - this._rtfHTMLmap = [ - [/\\uc0\{?\\u([0-9]+)\}?(?:{}| )?/g, function(wholeStr, aCode) { return String.fromCharCode(aCode) }], - [/\\tab(?:\{\}| )/g, ' '], - [/(?:\\par{}|\\\r?\n)/g, "

"] - ]; - - this.prepare = function() { - // DEBUG: Does this actually happen? - if (this.prepared) return; - - // Tag data - var _rexData = [ - [ - [ - [""], - ["{\\scaps ", "{\\scaps{}"] - ], - [ - ["<\/span>"], - ["}"] - ] - ], - [ - [ - [""], - ["{\\ul{}", "{\\ul "] - ], - [ - ["<\/span>"], - ["}"] - ] - ], - [ - [ - [""], - ["\\super ", "\\super{}"] - ], - [ - [""], - ["\\nosupersub{}", "\\nosupersub "] - ] - ], - [ - [ - [""], - ["\\sub ", "\\sub{}"] - ], - [ - [""], - ["\\nosupersub{}", "\\nosupersub "] - ] - ], - [ - [ - [""], - ["{\\i{}", "{\\i "] - ], - [ - [""], - ["}"] - ] - ], - [ - [ - [""], - ["{\\i{}", "{\\i "] - ], - [ - [""], - ["}"] - ] - ], - [ - [ - [""], - ["{\\b{}", "{\\b "] - ], - [ - [""], - ["}"] - ] - ], - [ - [ - [""], - ["{\\b{}", "{\\b "] - ], - [ - [""], - ["}"] - ] - ], - [ - [ - [""], - ["{\\scaps0{}", "{\\scaps0 "] - ], - [ - [""], - ["}"] - ] - ], - [ - [ - [""], - ["{\\i0{}", "{\\i0 "] - ], - [ - [""], - ["}"] - ] - ], - [ - [ - [""], - ["{\\b0{}", "{\\b0 "] - ], - [ - [""], - ["}"] - ] - ] - ]; - - function longestFirst(a, b) { - if (a.length < b.length) { - return 1; - } else if (a.length > b.length) { - return -1; - } else { - return 0; - } - } - - function normalizeRegExpString(str) { - if (!str) return str; - return str.replace(/\s+/g, " ") - .replace(/(?:[\+]|\s[\*])/g, "") - .replace(/[\']/g, '\"') - .replace(/:\s/g, ":"); - } - - this.normalizeRegExpString = normalizeRegExpString; - - function composeRex(rexes, noGlobal) { - var lst = []; - for (var rex in rexes) { - lst.push(rex); - } - lst.sort(longestFirst); - var rexStr = "(?:" + lst.join("|") + ")"; - return new RegExp(rexStr, "g"); - } - - // Create splitting regexps - function splitRexMaker(segment) { - var rexes = {}; - for (var i=0,ilen=_rexData.length; i < ilen; i++) { - for (var j=0,jlen=_rexData[i].length; j < jlen; j++) { - for (var k=0,klen=_rexData[i][j][segment].length; k < klen; k++) { - rexes[_rexData[i][j][segment][k].replace("\\", "\\\\")] = true; - } - } - } - var ret = composeRex(rexes, true); - return ret; - } - this.rtfHTMLsplitRex = splitRexMaker(1); - this.htmlRTFsplitRex = splitRexMaker(0); - - // Create open-tag sniffing regexp - function openSniffRexMaker(segment) { - var rexes = {}; - for (var i=0,ilen=_rexData.length; i < ilen; i++) { - for (var j=0,jlen=_rexData[i][0][segment].length; j < jlen; j++) { - rexes[_rexData[i][0][segment][j].replace("\\", "\\\\")] = true; - } - } - return composeRex(rexes); - } - this.rtfHTMLopenSniffRex = openSniffRexMaker(1); - this.htmlRTFopenSniffRex = openSniffRexMaker(0); - - // Create open-tag remapper - function openTagRemapMaker(segment) { - var ret = {}; - for (var i=0,ilen=_rexData.length; i < ilen; i++) { - var primaryVal = normalizeRegExpString(_rexData[i][0][segment][0]); - for (var j=0,jlen=_rexData[i][0][segment].length; j < jlen; j++) { - var key = normalizeRegExpString(_rexData[i][0][segment][j]); - ret[key] = primaryVal; - } - } - return ret; - } - - this.rtfHTMLopenTagRemap = openTagRemapMaker(1); - this.htmlRTFopenTagRemap = openTagRemapMaker(0); - - // Create open-tag-keyed close-tag sniffing regexps - function closeTagRexMaker(segment) { - var ret = {}; - var rexes = {}; - for (var i=0,ilen=_rexData.length; i < ilen; i++) { - var primaryVal = _rexData[i][0][segment][0]; - for (var j=0,jlen=_rexData[i][1][segment].length; j < jlen; j++) { - rexes[_rexData[i][1][segment][j]] = true; - } - ret[primaryVal] = composeRex(rexes); - } - return ret; - } - this.rtfHTMLcloseTagRex = closeTagRexMaker(1); - this.htmlRTFcloseTagRex = closeTagRexMaker(0); - - // Create open-tag-keyed open/close tag registry - function tagRegistryMaker(segment) { - var antisegment = 1; - if (segment == 1) { - antisegment = 0; - } - var ret = {}; - for (var i=0,ilen=_rexData.length; i < ilen; i++) { - var primaryVal = normalizeRegExpString(_rexData[i][0][segment][0]); - ret[primaryVal] = { - open: normalizeRegExpString(_rexData[i][0][antisegment][0]), - close: _rexData[i][1][antisegment][0] - } - } - return ret; - } - - this.rtfHTMLtagRegistry = tagRegistryMaker(1); - this.htmlRTFtagRegistry = tagRegistryMaker(0); - - this.prepared = true; - } - this.prepare(); - - this.getSplit = function(mode, txt) { - if (!txt) return []; - var splt = txt.split(this[mode + "splitRex"]); - var mtch = txt.match(this[mode + "splitRex"]); - var lst = [splt[0]]; - for (var i=1,ilen=splt.length; i < ilen; i++) { - lst.push(mtch[i-1]); - lst.push(splt[i]); - } - return lst; - } - - this.getOpenTag = function(mode, str) { - var m = str.match(this[mode + "openSniffRex"]); - if (m) { - m = this[mode + "openTagRemap"][this.normalizeRegExpString(m[0])]; - } - return m; - } - - this.convert = function(mode, txt) { - var lst = this.getSplit(mode, txt); - var sdepth = 0; - var depth = 0; - for (var i=1,ilen=lst.length; i < ilen; i += 2) { - var openTag = this.getOpenTag(mode, lst[i]); - if (openTag) { - sdepth++; - depth = sdepth; - for (var j=(i+2),jlen=lst.length; j < jlen; j += 2) { - var closeTag = !this.getOpenTag(mode, lst[j]); - if (closeTag) { - if (depth === sdepth && lst[j].match(this[mode + "closeTagRex"][openTag])) { - lst[i] = this[mode + "tagRegistry"][openTag].open; - lst[j] = this[mode + "tagRegistry"][openTag].close; - break; - } - depth--; - } else { - depth++; - } - } - } else { - sdepth--; - } - } - return lst.join(""); - } - - this.htmlToRTF = function(txt) { - txt = this.convert("htmlRTF", txt); - for (var i=0,ilen=this._htmlRTFmap.length; i < ilen; i++) { - var entry = this._htmlRTFmap[i]; - txt = txt.replace(entry[0], entry[1]); - } - txt = Zotero.Utilities.unescapeHTML(txt); - txt = txt.replace(/[\x7F-\uFFFF]/g, function(aChar) { return "\\uc0\\u"+aChar.charCodeAt(0).toString()+"{}"}); - return txt.trim(); - } - - this.rtfToHTML = function(txt) { - for (var i=0,ilen=this._rtfHTMLmap.length; i < ilen; i++) { - var entry = this._rtfHTMLmap[i]; - txt = txt.replace(entry[0], entry[1]); - } - txt = this.convert("rtfHTML", txt); - return txt.trim(); - } - - this._constructed = true; - - // Don't load if a value hasn't yet been set - if (this._loadOnConstruct) { - this._load(); - } - ]]> - - - - - - - - - - - - - - - - - - - - " && output.substr(-6) == "") { - output = output.slice(0, output.length-6).slice(5).trim(); - } - output = this.htmlToRTF(output) - } - - return output; - ]]> -

'+html+"

"; - } - - Zotero.debug("Setting content to " + html); - - this._editor.setContent(html); - this._changed = false; - return val; - ]]> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - -
-
\ No newline at end of file diff --git a/chrome/skin/default/zotero/zotero.css b/chrome/skin/default/zotero/zotero.css index 3b25ad8aff..084e8fab92 100644 --- a/chrome/skin/default/zotero/zotero.css +++ b/chrome/skin/default/zotero/zotero.css @@ -15,20 +15,6 @@ padding:0; } -/* Bindings */ -textbox[type="styled"] -{ - -moz-binding: url('chrome://zotero/content/bindings/styled-textbox.xml#styled-textbox'); -} - -zoteromergegroup { - -moz-binding: url('chrome://zotero/content/bindings/merge.xml#merge-group'); -} - -zoteromergepane { - -moz-binding: url('chrome://zotero/content/bindings/merge.xml#merge-pane'); -} - richlistitem { padding: 0.2em 0.4em; }