From 5a7353f7068ce9a3e3f4c3d5c848209738536abf Mon Sep 17 00:00:00 2001 From: pilar6195 Date: Wed, 23 Oct 2019 23:19:09 -0500 Subject: [PATCH] Added ability to shorten link from context menu. --- package.json | 2 +- src/background.js | 18 +++++++++++++----- src/manifest.json | 3 ++- 3 files changed, 16 insertions(+), 7 deletions(-) diff --git a/package.json b/package.json index 775afc4..808b40c 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "long.af-extension", "description": "Extension for long.af", - "version": "1.3", + "version": "1.4", "author": "pilar6195", "license": "MIT", "devDependencies": { diff --git a/src/background.js b/src/background.js index 8c116bb..939da6a 100644 --- a/src/background.js +++ b/src/background.js @@ -29,10 +29,7 @@ function copyText(text) { input.remove(); } -browser.notifications.onClicked.addListener(browser.notifications.clear); - -/* On extension icon click */ -browser.browserAction.onClicked.addListener(tab => { +function shortenLink(url) { browser.storage.local.get({ expires: null, type: null, @@ -44,7 +41,7 @@ browser.browserAction.onClicked.addListener(tab => { headers: { 'Content-Type': 'application/json' }, method: 'POST', body: JSON.stringify({ - url: tab.url, + url: url, expires: items.expires, type: items.type }) @@ -67,4 +64,15 @@ browser.browserAction.onClicked.addListener(tab => { browser.browserAction.setBadgeText({ text: '' }); } }); +} + +/* On extension icon click */ +browser.browserAction.onClicked.addListener(tab => shortenLink(tab.url)); + +browser.notifications.onClicked.addListener(browser.notifications.clear); + +chrome.contextMenus.create({ + title: 'long.af', + contexts: ['page', 'link'], + onclick: a => shortenLink(a.linkUrl || a.pageUrl) }); diff --git a/src/manifest.json b/src/manifest.json index fea1700..4c54bd3 100644 --- a/src/manifest.json +++ b/src/manifest.json @@ -2,7 +2,7 @@ "manifest_version": 2, "name": "long.af - URL Shortener", "description": "Companion extension for https://long.af", - "version": "1.3", + "version": "1.4", "minimum_chrome_version": "60.0.3112", "options_ui": { "page": "options.html", @@ -11,6 +11,7 @@ "permissions": [ "https://api.long.af/*", "activeTab", + "contextMenus", "notifications", "clipboardWrite", "storage"