aboutsummaryrefslogtreecommitdiffhomepage
path: root/background.js
diff options
context:
space:
mode:
authorGravatar Benjamin Barenblat <bbaren@google.com>2020-02-28 17:15:18 -0500
committerGravatar Benjamin Barenblat <bbaren@google.com>2020-03-03 11:11:15 -0500
commit749bd515e839758559173ad16e248822202dd80e (patch)
tree66638b305ef124c6bef84a6c137dce9b9bcdc7a0 /background.js
parent1277f853696c26dba7960462ee49c5d9d39eab47 (diff)
Add context menu item to open a link in the Wayback Machinev1.2.0
Diffstat (limited to 'background.js')
-rw-r--r--background.js23
1 files changed, 21 insertions, 2 deletions
diff --git a/background.js b/background.js
index 4494843..04b8117 100644
--- a/background.js
+++ b/background.js
@@ -12,7 +12,9 @@
// License for the specific language governing permissions and limitations under
// the License.
-chrome.pageAction.onClicked.addListener(function(tab) {
+const MENU_ITEM_OPEN_LINK = 'openLink';
+
+function open(url) {
chrome.storage.sync.get({
clickBehavior: 'search',
}, function(items) {
@@ -20,8 +22,18 @@ chrome.pageAction.onClicked.addListener(function(tab) {
if (items.clickBehavior == 'direct') {
waybackStem = 'https://web.archive.org/web/';
}
- chrome.tabs.update(null, {url: waybackStem + tab.url});
+ chrome.tabs.update(null, {url: waybackStem + url});
});
+}
+
+chrome.pageAction.onClicked.addListener(function(tab) {
+ open(tab.url);
+});
+
+chrome.contextMenus.onClicked.addListener(function(info, tab) {
+ if (info.menuItemId == MENU_ITEM_OPEN_LINK) {
+ open(info.linkUrl);
+ }
});
chrome.runtime.onInstalled.addListener(function() {
@@ -36,4 +48,11 @@ chrome.runtime.onInstalled.addListener(function() {
},
]);
});
+
+ chrome.contextMenus.create({
+ 'id': MENU_ITEM_OPEN_LINK,
+ 'title': 'Open link in the Wayback Machine',
+ 'contexts': ['link'],
+ 'targetUrlPatterns': ['ftp://*/*', 'http://*/*', 'https://*/*'],
+ });
});