fx115: replace text/unicode with text/plain in clipboard code (#3945)

This commit is contained in:
windingwind 2024-04-10 05:47:40 +08:00 committed by GitHub
parent 8b37a9889a
commit 49923780ca
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
4 changed files with 11 additions and 11 deletions

View file

@ -279,8 +279,8 @@ var Zotero_File_Interface = new function() {
let str = Components.classes['@mozilla.org/supports-string;1'] let str = Components.classes['@mozilla.org/supports-string;1']
.createInstance(Components.interfaces.nsISupportsString); .createInstance(Components.interfaces.nsISupportsString);
str.data = text; str.data = text;
transferable.addDataFlavor('text/unicode'); transferable.addDataFlavor('text/plain');
transferable.setTransferData('text/unicode', str, text.length * 2); transferable.setTransferData('text/plain', str, text.length * 2);
// Add HTML // Add HTML
str = Components.classes['@mozilla.org/supports-string;1'] str = Components.classes['@mozilla.org/supports-string;1']
@ -502,7 +502,7 @@ var Zotero_File_Interface = new function() {
* Imports from clipboard * Imports from clipboard
*/ */
this.importFromClipboard = Zotero.Promise.coroutine(function* () { this.importFromClipboard = Zotero.Promise.coroutine(function* () {
var str = Zotero.Utilities.Internal.getClipboard("text/unicode"); var str = Zotero.Utilities.Internal.getClipboard("text/plain");
if(!str) { if(!str) {
var ps = Services.prompt; var ps = Services.prompt;
ps.alert( ps.alert(
@ -823,8 +823,8 @@ var Zotero_File_Interface = new function() {
var str = Components.classes["@mozilla.org/supports-string;1"]. var str = Components.classes["@mozilla.org/supports-string;1"].
createInstance(Components.interfaces.nsISupportsString); createInstance(Components.interfaces.nsISupportsString);
str.data = output; str.data = output;
transferable.addDataFlavor("text/unicode"); transferable.addDataFlavor("text/plain");
transferable.setTransferData("text/unicode", str, output.length * 2); transferable.setTransferData("text/plain", str, output.length * 2);
clipboardService.setData(transferable, null, Components.interfaces.nsIClipboard.kGlobalClipboard); clipboardService.setData(transferable, null, Components.interfaces.nsIClipboard.kGlobalClipboard);

View file

@ -2101,7 +2101,7 @@ var Zotero_QuickFormat = new function () {
event.stopPropagation(); event.stopPropagation();
event.preventDefault(); event.preventDefault();
var str = Zotero.Utilities.Internal.getClipboard("text/unicode"); var str = Zotero.Utilities.Internal.getClipboard("text/plain");
if (str) { if (str) {
isPaste = true; isPaste = true;
this.value += str.replace(/[\r\n]/g, " ").trim(); this.value += str.replace(/[\r\n]/g, " ").trim();

View file

@ -2354,7 +2354,7 @@ Zotero.Utilities.Internal = {
let targetInput = targetInputWeak.deref(); let targetInput = targetInputWeak.deref();
if (!targetInput) return; if (!targetInput) return;
targetInput.focus(); targetInput.focus();
targetInput.value = Zotero.Utilities.Internal.getClipboard('text/unicode') || ''; targetInput.value = Zotero.Utilities.Internal.getClipboard('text/plain') || '';
targetInput.dispatchEvent(new Event('input')); targetInput.dispatchEvent(new Event('input'));
}); });
editMenuItems.push(pasteMenuitem); editMenuItems.push(pasteMenuitem);

View file

@ -156,7 +156,7 @@ describe("Zotero_File_Interface", function() {
assert.equal(str, '(<i>A</i>, 2016; <i>B</i>, 2016)'); assert.equal(str, '(<i>A</i>, 2016; <i>B</i>, 2016)');
// Plain text // Plain text
str = getDataForFlavor('text/unicode'); str = getDataForFlavor('text/plain');
assert.equal(str, '(A, 2016; B, 2016)'); assert.equal(str, '(A, 2016; B, 2016)');
}); });
@ -173,7 +173,7 @@ describe("Zotero_File_Interface", function() {
assert.include(str, '<i>B</i>'); assert.include(str, '<i>B</i>');
// Plain text // Plain text
str = getDataForFlavor('text/unicode'); str = getDataForFlavor('text/plain');
assert.equal(str, 'A. (2016).\nB. (2016).\n'); assert.equal(str, 'A. (2016).\nB. (2016).\n');
}); });
@ -193,7 +193,7 @@ describe("Zotero_File_Interface", function() {
assert.equal(str, '(<i>A</i>, 2016; <i>B</i>, 2016)'); assert.equal(str, '(<i>A</i>, 2016; <i>B</i>, 2016)');
// Plain text // Plain text
str = getDataForFlavor('text/unicode'); str = getDataForFlavor('text/plain');
assert.equal(str, '(<i>A</i>, 2016; <i>B</i>, 2016)'); assert.equal(str, '(<i>A</i>, 2016; <i>B</i>, 2016)');
}); });
@ -211,7 +211,7 @@ describe("Zotero_File_Interface", function() {
assert.include(str, '<i>B</i>'); assert.include(str, '<i>B</i>');
// Plain text // Plain text
str = getDataForFlavor('text/unicode'); str = getDataForFlavor('text/plain');
assert.include(str, 'line-height'); assert.include(str, 'line-height');
assert.include(str, '<i>A</i>'); assert.include(str, '<i>A</i>');
assert.include(str, '<i>B</i>'); assert.include(str, '<i>B</i>');