fx-compat: Tweak image copying to clipboard
This commit is contained in:
parent
80385ff893
commit
75a080b7cb
2 changed files with 9 additions and 11 deletions
|
@ -125,12 +125,11 @@ class EditorInstance {
|
||||||
.createInstance(Components.interfaces.nsITransferable);
|
.createInstance(Components.interfaces.nsITransferable);
|
||||||
let clipboardService = Components.classes['@mozilla.org/widget/clipboard;1']
|
let clipboardService = Components.classes['@mozilla.org/widget/clipboard;1']
|
||||||
.getService(Components.interfaces.nsIClipboard);
|
.getService(Components.interfaces.nsIClipboard);
|
||||||
let imgPtr = Components.classes["@mozilla.org/supports-interface-pointer;1"]
|
let img = imgTools.decodeImageFromArrayBuffer(u8arr.buffer, mime);
|
||||||
.createInstance(Components.interfaces.nsISupportsInterfacePointer);
|
|
||||||
imgPtr.data = imgTools.decodeImageFromArrayBuffer(u8arr.buffer, mime);
|
|
||||||
transferable.init(null);
|
transferable.init(null);
|
||||||
transferable.addDataFlavor(mime);
|
let kNativeImageMime = 'application/x-moz-nativeimage';
|
||||||
transferable.setTransferData(mime, imgPtr, 0);
|
transferable.addDataFlavor(kNativeImageMime);
|
||||||
|
transferable.setTransferData(kNativeImageMime, img);
|
||||||
clipboardService.setData(transferable, null, Components.interfaces.nsIClipboard.kGlobalClipboard);
|
clipboardService.setData(transferable, null, Components.interfaces.nsIClipboard.kGlobalClipboard);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -403,6 +403,7 @@ class ReaderInstance {
|
||||||
if (!parts[0].includes('base64')) {
|
if (!parts[0].includes('base64')) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
let mime = parts[0].match(/:(.*?);/)[1];
|
||||||
let bstr = atob(parts[1]);
|
let bstr = atob(parts[1]);
|
||||||
let n = bstr.length;
|
let n = bstr.length;
|
||||||
let u8arr = new Uint8Array(n);
|
let u8arr = new Uint8Array(n);
|
||||||
|
@ -415,13 +416,11 @@ class ReaderInstance {
|
||||||
.createInstance(Components.interfaces.nsITransferable);
|
.createInstance(Components.interfaces.nsITransferable);
|
||||||
let clipboardService = Components.classes['@mozilla.org/widget/clipboard;1']
|
let clipboardService = Components.classes['@mozilla.org/widget/clipboard;1']
|
||||||
.getService(Components.interfaces.nsIClipboard);
|
.getService(Components.interfaces.nsIClipboard);
|
||||||
let imgPtr = Components.classes["@mozilla.org/supports-interface-pointer;1"]
|
let img = imgTools.decodeImageFromArrayBuffer(u8arr.buffer, mime);
|
||||||
.createInstance(Components.interfaces.nsISupportsInterfacePointer);
|
|
||||||
let mimeType = `image/png`;
|
|
||||||
imgPtr.data = imgTools.decodeImageFromArrayBuffer(u8arr.buffer, mimeType);
|
|
||||||
transferable.init(null);
|
transferable.init(null);
|
||||||
transferable.addDataFlavor(mimeType);
|
let kNativeImageMime = 'application/x-moz-nativeimage';
|
||||||
transferable.setTransferData(mimeType, imgPtr, 0);
|
transferable.addDataFlavor(kNativeImageMime);
|
||||||
|
transferable.setTransferData(kNativeImageMime, img);
|
||||||
clipboardService.setData(transferable, null, Components.interfaces.nsIClipboard.kGlobalClipboard);
|
clipboardService.setData(transferable, null, Components.interfaces.nsIClipboard.kGlobalClipboard);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue