Bug 1353006 - Stop using sdk/clipboard in JSONViewer; r=jryans

MozReview-Commit-ID: AQXsf3DQdS9

--HG--
extra : rebase_source : c204f9ba27c3c9852b7fade9d0c207bd8bc00eff
This commit is contained in:
Jan Odvarko 2017-04-05 14:57:49 +02:00
parent 88956229a0
commit 1d58a4ae9a

View File

@ -12,8 +12,6 @@ const Services = require("Services");
loader.lazyRequireGetter(this, "NetworkHelper",
"devtools/shared/webconsole/network-helper");
loader.lazyRequireGetter(this, "Clipboard",
"sdk/clipboard");
loader.lazyRequireGetter(this, "JsonViewUtils",
"devtools/client/jsonview/utils");
@ -279,11 +277,11 @@ Converter.prototype = {
let value = e.detail.value;
switch (e.detail.type) {
case "copy":
Clipboard.set(value, "text");
copyString(win, value);
break;
case "copy-headers":
this.copyHeaders(value);
this.copyHeaders(win, value);
break;
case "save":
@ -292,7 +290,7 @@ Converter.prototype = {
}
},
copyHeaders: function (headers) {
copyHeaders: function (win, headers) {
let value = "";
let eol = (Services.appinfo.OS !== "WINNT") ? "\n" : "\r\n";
@ -310,10 +308,19 @@ Converter.prototype = {
value += header.name + ": " + header.value + eol;
}
Clipboard.set(value, "text");
copyString(win, value);
}
};
function copyString(win, string) {
win.document.addEventListener("copy", event => {
event.clipboardData.setData("text/plain", string);
event.preventDefault();
}, {once: true});
win.document.execCommand("copy", false, null);
}
function createInstance() {
return new Converter();
}