Hide URL options for e2e blob: URL images

These won't work outside of the electron app so there is zero point
in trying to open them in an external browser or offerring to copy
them to the clipboard
pull/6765/head
David Baker 2018-05-18 12:00:55 +01:00
parent e5fd579935
commit 38c295427a
1 changed files with 18 additions and 12 deletions

View File

@ -35,12 +35,15 @@ function onLinkContextMenu(ev, params) {
const url = params.linkURL || params.srcURL; const url = params.linkURL || params.srcURL;
const popupMenu = new Menu(); const popupMenu = new Menu();
popupMenu.append(new MenuItem({ // No point trying to open blob: URLs in an external browser: it ain't gonna work.
label: url, if (!url.startsWith('blob:')) {
click() { popupMenu.append(new MenuItem({
safeOpenURL(url); label: url,
}, click() {
})); safeOpenURL(url);
},
}));
}
if (params.mediaType && params.mediaType === 'image' && !url.startsWith('file://')) { if (params.mediaType && params.mediaType === 'image' && !url.startsWith('file://')) {
popupMenu.append(new MenuItem({ popupMenu.append(new MenuItem({
@ -55,12 +58,15 @@ function onLinkContextMenu(ev, params) {
})); }));
} }
popupMenu.append(new MenuItem({ // No point offerring to copy a blob: URL either
label: 'Copy Link Address', if (!url.startsWith('blob:')) {
click() { popupMenu.append(new MenuItem({
clipboard.writeText(url); label: 'Copy Link Address',
}, click() {
})); clipboard.writeText(url);
},
}));
}
// popup() requires an options object even for no options // popup() requires an options object even for no options
popupMenu.popup({}); popupMenu.popup({});
ev.preventDefault(); ev.preventDefault();