summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFlorian Bruhin <me@the-compiler.org>2021-09-20 13:36:26 +0200
committerFlorian Bruhin <me@the-compiler.org>2021-09-26 16:26:21 +0200
commit7ef6647a38eebec43374194df51dcdef9236c6f4 (patch)
treefe9c02bd5467fe7e5d489e7c938b732a2ac398a1
parentb4b7b3699e1989f8b91a455e4bd0ecb707fa594d (diff)
downloadqutebrowser-7ef6647a38eebec43374194df51dcdef9236c6f4.tar.gz
qutebrowser-7ef6647a38eebec43374194df51dcdef9236c6f4.zip
Add GM_setClipboard
Based on the Greasemonkey implementation: https://github.com/greasemonkey/greasemonkey/blob/4.11/src/bg/api-provider-source.js#L232-L249 Needed by e.g. this script to work at all: https://greasyfork.org/en/scripts/394820-mouseover-popup-image-viewer (cherry picked from commit 1bea82698153ba3e20529e010bc3f254b9904231)
-rw-r--r--qutebrowser/javascript/greasemonkey_wrapper.js17
1 files changed, 17 insertions, 0 deletions
diff --git a/qutebrowser/javascript/greasemonkey_wrapper.js b/qutebrowser/javascript/greasemonkey_wrapper.js
index 8a0a12c0d..ced4e1063 100644
--- a/qutebrowser/javascript/greasemonkey_wrapper.js
+++ b/qutebrowser/javascript/greasemonkey_wrapper.js
@@ -110,6 +110,22 @@
}
}
+ // Based on GreaseMonkey:
+ // https://github.com/greasemonkey/greasemonkey/blob/4.11/src/bg/api-provider-source.js#L232-L249
+ function GM_setClipboard(text) {
+ function onCopy(event) {
+ document.removeEventListener('copy', onCopy, true);
+
+ event.stopImmediatePropagation();
+ event.preventDefault();
+
+ event.clipboardData.setData('text/plain', text);
+ }
+
+ document.addEventListener('copy', onCopy, true);
+ document.execCommand('copy');
+ }
+
// Stub these two so that the gm4 polyfill script doesn't try to
// create broken versions as attributes of window.
function GM_getResourceText(caption, commandFunc, accessKey) {
@@ -126,6 +142,7 @@
const entries = {
'log': GM_log,
'addStyle': GM_addStyle,
+ 'setClipboard': GM_setClipboard,
'deleteValue': GM_deleteValue,
'getValue': GM_getValue,
'listValues': GM_listValues,