diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..7ced262
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,3 @@
+*.xpi
+.project
+.settings
diff --git a/README.md b/README.md
index 4bf8efa..1f463e3 100644
--- a/README.md
+++ b/README.md
@@ -4,7 +4,12 @@ Dead pages, broken links, the scourge of the internet.
Powerhouse sites like Slashdot and Digg can bring a server to its knees.
What do we do when a page is dead but we still want to see it?
Call in the clerics, and perform a resurrection ceremony!
-Or, the easier route, use this extension.
+Or (the easier route) use this extension.
+
+## Screenshots
+
+![Context Menu](https://camo.githubusercontent.com/264d0c9221bd3b22a41b3848597eeedbd606a5fb/68747470733a2f2f692e696d6775722e636f6d2f48654d666f77792e706e67)
+![Toolbar Menu](https://camo.githubusercontent.com/973154dcbc6c17736b9b2d4e4a4a00959465ec6d/68747470733a2f2f692e696d6775722e636f6d2f6d4c554e52414c2e706e67)
## Features
@@ -22,10 +27,15 @@ Hit back and try another one!
* In the context (right-click) menu for the current page, and for all links.
* In the toolbar, just customize it to drag the button in.
* With the keyboard: press `Ctrl-Shift-U`
- * Directly in the net error ("Firefox could not load this page...") page.
# Changelog
+ * Version 4 (**pending release**)
+ * Rewritten as WebExtension with major contributions
+ by [Tobias Girstmair](https://gir.st/)
+ * Does not include netError page
+ ([not possible currently](http://bugzil.la/1376793))
+ * Not everything from the old version ported over yet
* Version 3 (Sep 9, 2015)
* Fix layout on error page w.r.t. the "report error" dialog.
* Add keyboard accessibility for cache retrieval buttons.
diff --git a/_locales/en/messages.json b/_locales/en/messages.json
new file mode 100644
index 0000000..430a3d0
--- /dev/null
+++ b/_locales/en/messages.json
@@ -0,0 +1,66 @@
+{
+ "extensionName": {
+ "message": "Resurrect Pages",
+ "description": "Name of the extension."
+ },
+
+ "extensionDescription": {
+ "message": "Resurrect dead pages, by finding their ghosts.",
+ "description": "Description of the add-on."
+ },
+
+ "resurrect_page": {
+ "message": "Resurrect this page",
+ "description": "Resurrect this page"
+ },
+
+ "resurrect_link": {
+ "message": "Resurrect this link",
+ "description": "Resurrect this link"
+ },
+
+ "resurrectGoogle": {
+ "message": "with Google",
+ "description": "with Google"
+ },
+
+ "resurrectGoogleText": {
+ "message": "with Google (text only)",
+ "description": "with Google (text only)"
+ },
+
+ "resurrectArchive": {
+ "message": "with The Internet Archive",
+ "description": "with The Internet Archive"
+ },
+
+ "resurrectArchiveIs": {
+ "message": "with archive.is",
+ "description": "with archive.is"
+ },
+
+ "resurrectWebcitation": {
+ "message": "with WebCite",
+ "description": "with WebCite"
+ },
+
+ "resurrectConfigCurrentTab": {
+ "message": "in the current tab",
+ "description": "in the current tab"
+ },
+
+ "resurrectConfigNewTab": {
+ "message": "in a new tab (foreground)",
+ "description": "in a new tab (foreground)"
+ },
+
+ "resurrectConfigBgTab": {
+ "message": "in a new tab (background)",
+ "description": "in a new tab (background)"
+ },
+
+ "resurrectConfigNewWindow": {
+ "message": "in a new window",
+ "description": "in a new window"
+ }
+}
diff --git a/background.js b/background.js
new file mode 100644
index 0000000..38781e8
--- /dev/null
+++ b/background.js
@@ -0,0 +1,91 @@
+function onCreated(n) {
+}
+
+
+chrome.storage.local.get('openIn', item => {
+ if (item.openIn) {
+ openIn = item.openIn;
+ }
+
+ function addResurrectItem(context, i18n, id, icon) {
+ chrome.contextMenus.create({
+ id: 'resurrect-' + id + '-' + context,
+ title: chrome.i18n.getMessage('resurrect' + i18n),
+ icons: {16: 'icons/cacheicons/' + icon + '.png'},
+ contexts: [context],
+ parentId: 'resurrect-' + context
+ }, onCreated);
+ }
+
+ function addConfigItem(context, i18n, where, checked) {
+ chrome.contextMenus.create({
+ id: 'resurrect-' + where + '-' + context,
+ type: 'radio',
+ title: chrome.i18n.getMessage('resurrectConfig' + i18n),
+ contexts: [context],
+ checked: checked,
+ parentId: 'resurrect-' + context
+ }, onCreated);
+ }
+
+ ['page', 'link'].forEach(context => {
+ chrome.contextMenus.create({
+ id: 'resurrect-' + context,
+ title: chrome.i18n.getMessage('resurrect_' + context),
+ contexts: [context]
+ }, onCreated);
+
+ addResurrectItem(context, 'Google', 'google', 'google');
+ addResurrectItem(context, 'GoogleText', 'google-text', 'google');
+ addResurrectItem(context, 'Archive', 'archive', 'waybackmachine');
+ addResurrectItem(context, 'ArchiveIs', 'archiveis', 'archiveis');
+ addResurrectItem(context, 'Webcitation', 'webcitation', 'webcitation');
+
+ chrome.contextMenus.create({
+ id: 'resurrect-separator-config-' + context,
+ type: 'separator',
+ contexts: [context],
+ parentId: 'resurrect-' + context
+ }, onCreated);
+
+ addConfigItem(
+ context, 'CurrentTab', 'current-tab', openIn == openInEnum.CURRENT_TAB);
+ addConfigItem(
+ context, 'NewTab', 'new-tab', openIn == openInEnum.NEW_TAB);
+ addConfigItem(
+ context, 'BgTab', 'bg-tab', openIn == openInEnum.BG_TAB);
+ addConfigItem(
+ context, 'NewWindow', 'new-window', openIn == openInEnum.NEW_WINDOW);
+ });
+});
+
+
+chrome.contextMenus.onClicked.addListener(function(info, tab) {
+ let id = info.menuItemId;
+ let url = null;
+ if (id.endsWith('-page')) {
+ url = info.pageUrl;
+ } else if (id.endsWith('-link')) {
+ url = info.linkUrl;
+ }
+
+ if (id.startsWith('resurrect-google-')) {
+ goToUrl(genGoogleUrl(url), openIn);
+ } else if (id.startsWith('resurrect-googletext-')) {
+ goToUrl(genGoogleTextUrl(url), openIn);
+ } else if (id.startsWith('resurrect-archive-')) {
+ goToUrl(genIaUrl(url), openIn);
+ } else if (id.startsWith('resurrect-archiveis-')) {
+ goToUrl(genArchiveIsUrl(url), openIn);
+ } else if (id.startsWith('resurrect-webcitation-')) {
+ goToUrl(genWebCiteUrl(url), openIn);
+ } else if (id.startsWith('resurrect-current-tab-')) {
+ setOpenIn(openInEnum.CURRENT_TAB);
+ } else if (id.startsWith('resurrect-new-tab-')) {
+ setOpenIn(openInEnum.NEW_TAB);
+ } else if (id.startsWith('resurrect-new-bg-tab-')) {
+ setOpenIn(openInEnum.NEW_BGTAB);
+ } else if (id.startsWith('resurrect-new-window-')) {
+ setOpenIn(openInEnum.NEW_WINDOW);
+ }
+});
diff --git a/chrome.manifest b/chrome.manifest
deleted file mode 100644
index f29ef28..0000000
--- a/chrome.manifest
+++ /dev/null
@@ -1,42 +0,0 @@
-content resurrect content/ contentaccessible=yes
-skin resurrect classic/1.0 skin/
-
-overlay chrome://browser/content/browser.xul chrome://resurrect/content/resurrect-overlay.xul
-style chrome://global/content/customizeToolbar.xul chrome://resurrect/skin/resurrect-overlay.css
-
-locale resurrect ca-AD locale/ca-AD/
-locale resurrect cs-CZ locale/cs-CZ/
-locale resurrect da locale/da/
-locale resurrect da-DK locale/da-DK/
-locale resurrect de locale/de/
-locale resurrect de-DE locale/de-DE/
-locale resurrect el locale/el/
-locale resurrect el-GR locale/el-GR/
-locale resurrect en-US locale/en-US/
-locale resurrect es-AR locale/es-AR/
-locale resurrect es-CL locale/es-CL/
-locale resurrect es-ES locale/es-ES/
-locale resurrect fi locale/fi/
-locale resurrect fi-FI locale/fi-FI/
-locale resurrect fr locale/fr/
-locale resurrect fr-FR locale/fr-FR/
-locale resurrect hr-HR locale/hr-HR/
-locale resurrect it locale/it/
-locale resurrect it-IT locale/it-IT/
-locale resurrect ja-JP locale/ja-JP/
-locale resurrect ko-KR locale/ko-KR/
-locale resurrect nl locale/nl/
-locale resurrect nl-NL locale/nl-NL/
-locale resurrect pl locale/pl/
-locale resurrect pl-PL locale/pl-PL/
-locale resurrect pt-BR locale/pt-BR/
-locale resurrect pt-PT locale/pt-PT/
-locale resurrect ru-RU locale/ru-RU/
-locale resurrect sl-SI locale/sl-SI/
-locale resurrect sr locale/sr/
-locale resurrect sv-SE locale/sv-SE/
-locale resurrect tr locale/tr/
-locale resurrect tr-TR locale/tr-TR/
-locale resurrect uk-UA locale/uk-UA/
-locale resurrect zh-CN locale/zh-CN/
-locale resurrect zh-TW locale/zh-TW/
diff --git a/common.js b/common.js
new file mode 100644
index 0000000..1978808
--- /dev/null
+++ b/common.js
@@ -0,0 +1,86 @@
+openInEnum = {
+ CURRENT_TAB : 0,
+ NEW_TAB : 1,
+ NEW_BGTAB : 2,
+ NEW_WINDOW : 3
+}
+let openIn = openInEnum.CURRENT_TAB;
+
+
+chrome.storage.local.get('openIn', item => {
+ if (item.openIn) {
+ openIn = item.openIn;
+ }
+});
+
+
+function onError(error) {
+ if (chrome.runtime.lastError) {
+ console.error('Resurrect error: ', chrome.runtime.lastError);
+ }
+}
+
+
+function genGoogleUrl(url) {
+ return 'https://www.google.com/search?q=cache:'+encodeURIComponent(url);
+}
+
+function genGoogleTextUrl(url) {
+ return 'https://www.google.com/search?strip=1&q=cache:'+encodeURIComponent(url);
+}
+
+function genIaUrl(url) {
+ let dateStr =(new Date()).toISOString().replace(/-|T|:|\..*/g, '');
+ return 'https://web.archive.org/web/'+dateStr+'/'+url;
+}
+
+function genArchiveIsUrl(url) {
+ return 'https://archive.is/'+url;
+}
+
+function genWebCiteUrl(url) {
+ return 'http://webcitation.org/query.php?url='+encodeURIComponent(url);
+}
+
+
+function setOpenIn(where) {
+ openIn = where;
+ chrome.storage.local.set({openIn: openIn}, onError);
+ updateContextRadios();
+}
+
+
+function updateContextRadios() {
+ ['page', 'link'].forEach(context => {
+ chrome.contextMenus.update(
+ 'resurrect-current-tab-' + context,
+ {checked: openIn == openInEnum.CURRENT_TAB});
+ chrome.contextMenus.update(
+ 'resurrect-new-tab-' + context,
+ {checked: openIn == openInEnum.NEW_TAB});
+ chrome.contextMenus.update(
+ 'resurrect-new-bg-tab-' + context,
+ {checked: openIn == openInEnum.NEW_BGTAB});
+ chrome.contextMenus.update(
+ 'resurrect-new-window-' + context,
+ {checked: openIn == openInEnum.NEW_WINDOW});
+ });
+}
+
+
+function goToUrl(url, where) {
+ switch(Number(where)) {
+ case openInEnum.CURRENT_TAB:
+ chrome.tabs.update({'url': url});
+ break;
+ case openInEnum.NEW_TAB:
+ chrome.tabs.create({'url': url});
+ break;
+ case openInEnum.NEW_BGTAB:
+ chrome.tabs.create({'url': url, 'active': false});
+ break;
+ case openInEnum.NEW_WINDOW:
+ chrome.windows.create({'url': url});
+ break;
+ }
+}
diff --git a/content/netError.xhtml b/content/netError.xhtml
deleted file mode 100644
index 2b900d9..0000000
--- a/content/netError.xhtml
+++ /dev/null
@@ -1,40 +0,0 @@
-
-
-
-
-
-
-
-
diff --git a/content/resurrect-overlay.xul b/content/resurrect-overlay.xul
deleted file mode 100644
index 12d8e7f..0000000
--- a/content/resurrect-overlay.xul
+++ /dev/null
@@ -1,41 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/content/resurrect-select-mirror.xul b/content/resurrect-select-mirror.xul
deleted file mode 100644
index cd477bb..0000000
--- a/content/resurrect-select-mirror.xul
+++ /dev/null
@@ -1,59 +0,0 @@
-
-
-
-
-
-
-
-
diff --git a/content/resurrect.js b/content/resurrect.js
deleted file mode 100644
index 108d5a5..0000000
--- a/content/resurrect.js
+++ /dev/null
@@ -1,191 +0,0 @@
-var resurrect={
-
- contextUrl:null,
-
-// // // // // // // // // // // // // // // // // // // // // // // // // // //
-
- onLoad:function() {
- window.removeEventListener('load', resurrect.onLoad, false);
- document.getElementById('contentAreaContextMenu')
- .addEventListener('popupshowing', resurrect.toggleContextItems, false);
- addEventListener('DOMContentLoaded', resurrect.contentDomLoad, false);
- },
-
- toggleContextItems:function(event) {
- resurrect.contextUrl = gContextMenu.linkURL;
-
- var onDocument=!(
- gContextMenu.isContentSelected || gContextMenu.onTextInput ||
- gContextMenu.onLink || gContextMenu.onImage);
-
- document.getElementById('resurrect-page-context')
- .setAttribute('hidden', !onDocument);
- document.getElementById('resurrect-link-context')
- .setAttribute('hidden', !gContextMenu.onLink);
- },
-
- contentDomLoad:function(event) {
- var contentDoc=event.target;
-
- if (contentDoc.documentURI.indexOf('about:neterror') != 0) return;
-
- // Inject our content...
- var xhr = new XMLHttpRequest();
- xhr.open('GET', 'chrome://resurrect/content/netError.xhtml', true);
- xhr.onload = function() {
- var fieldset = xhr.responseXML.getElementById('resurrect');
- var xhtml = new XMLSerializer().serializeToString(fieldset);
- var container = contentDoc.getElementById('errorPageContainer');
- container.innerHTML += xhtml;
-
- // ...plus the CSS.
- var link = contentDoc.createElement('link');
- link.setAttribute('rel', 'stylesheet');
- link.setAttribute('href', 'chrome://resurrect/skin/netError.css');
- link.setAttribute('type', 'text/css');
- link.setAttribute('media', 'all');
- contentDoc.getElementsByTagName('head')[0].appendChild(link);
-
- // Add the className that enables it, only when appropriate.
- contentDoc.location.href =
- 'javascript:if ("nssBadCert" != getErrorCode()) {'
- + 'document.body.className += " resurrect";'
- + '}; void(0)';
-
- // Add event listener.
- contentDoc.getElementById('resurrect').addEventListener(
- 'click', resurrect.clickedHtml, false);
- contentDoc.getElementById('resurrect').addEventListener(
- 'keypress', resurrect.clickedHtml, false);
- };
- xhr.send(null);
- },
-
- disableButtons:function(doc) {
- var bs=doc.getElementById('resurrect')
- .getElementsByTagName('xul:button');
- for (var i=0, b=null; b=bs[i]; i++) {
- b.setAttribute('disabled', 'true');
- }
- },
-
-// // // // // // // // // // // // // // // // // // // // // // // // // // //
-
- page:function(event) {
- var doc=getBrowser().contentWindow.document;
- resurrect.showDialog(doc.location.href);
- },
-
- link:function(event) {
- resurrect.showDialog(resurrect.contextUrl);
- },
-
-// // // // // // // // // // // // // // // // // // // // // // // // // // //
-
- loadTarget:function() {
- var pref=Components.classes['@mozilla.org/preferences-service;1']
- .getService(Components.interfaces.nsIPrefBranch);
- var target=pref.getCharPref('extensions.resurrect.target');
-
- document.getElementById('targetGroup').selectedItem=
- document.getElementById(target);
- },
-
- saveTarget:function(el) {
- var target=document.getElementById('targetGroup').selectedItem.id;
-
- var pref=Components.classes['@mozilla.org/preferences-service;1']
- .getService(Components.interfaces.nsIPrefBranch);
- pref.setCharPref('extensions.resurrect.target', target);
- },
-
-// // // // // // // // // // // // // // // // // // // // // // // // // // //
-
- showDialog:function(url) {
- window.openDialog(
- 'chrome://resurrect/content/resurrect-select-mirror.xul',
- '_blank',
- 'modal,centerscreen,resizable=no,chrome,dependent',
- getBrowser().contentWindow.document, url);
- },
-
- clickedHtml:function(event) {
- if ('true'==event.target.getAttribute('disabled')) {
- return;
- }
- if ('keypress' == event.type) {
- if (event.target.parentNode.id != 'resurrect') return;
- if (event.charCode != 32 && event.keyCode != 13) return;
- }
-
- return resurrect.clickHandler(
- event,
- event.target.ownerDocument,
- event.target.ownerDocument.location.href);
- },
-
- clickedXul:function(event) {
- resurrect.saveTarget(event.target);
-
- return resurrect.clickHandler(
- event,
- window.arguments[0],
- window.arguments[1]);
- },
-
- clickHandler:function(event, contentDoc, rawUrl) {
- resurrect.disableButtons(event.target.ownerDocument);
-
- // Run the actual code. After timeout for UI repaint.
- setTimeout(
- resurrect.selectMirror, 1,
- event.target.getAttribute('value'),
- event.target.ownerDocument,
- contentDoc, rawUrl);
- },
-
- selectMirror:function(mirror, ownerDoc, contentDoc, rawUrl) {
- var gotoUrl=null;
- var encUrl=encodeURIComponent(rawUrl);
-
- switch (mirror) {
- case 'google':
- gotoUrl='https://www.google.com/search?q=cache:'+encUrl;
- break;
- case 'googletext':
- gotoUrl='https://www.google.com/search?strip=1&q=cache:'+encUrl;
- break;
- case 'archive':
- var dateStr = (new Date()).toISOString().replace(/-|T|:|\..*/g, '');
- gotoUrl='https://web.archive.org/web/'+dateStr+'/'+rawUrl;
- break;
- case 'archiveis':
- gotoUrl='https://archive.is/'+rawUrl;
- break;
- case 'webcitation':
- gotoUrl='http://webcitation.org/query.php?url='+encUrl;
- break;
- default:
- return false;
- break;
- }
-
- if (gotoUrl) {
- if (ownerDoc.getElementById('targetTab').getAttribute('selected')) {
- window.opener.openUILinkIn(gotoUrl, 'tab');
- } else if (ownerDoc.getElementById('targetWin').getAttribute('selected')) {
- // the setTimeout keeps focus from returning to the opener
- setTimeout(function(){
- window.opener.openNewWindowWith(gotoUrl, null, null);
- }, 10);
- } else {
- contentDoc.location.assign(gotoUrl);
- }
-
- if ('chrome://resurrect/content/resurrect-select-mirror.xul'==window.document.location) {
- // setTimeout avoids errors because the window is gone
- setTimeout(window.close, 0);
- }
- }
- }
-};
diff --git a/defaults/preferences/resurrect.js b/defaults/preferences/resurrect.js
deleted file mode 100644
index c51d0a9..0000000
--- a/defaults/preferences/resurrect.js
+++ /dev/null
@@ -1,3 +0,0 @@
-pref("extensions.{0c8fbd76-bdeb-4c52-9b24-d587ce7b9dc3}.description", "chrome://resurrect/locale/overlay.properties");
-
-pref("extensions.resurrect.target", "targetCurr");
diff --git a/icons/cacheicons/archiveis.png b/icons/cacheicons/archiveis.png
new file mode 100644
index 0000000..5262759
Binary files /dev/null and b/icons/cacheicons/archiveis.png differ
diff --git a/skin/cacheicons/google.png b/icons/cacheicons/google.png
similarity index 100%
rename from skin/cacheicons/google.png
rename to icons/cacheicons/google.png
diff --git a/skin/cacheicons/waybackmachine.png b/icons/cacheicons/waybackmachine.png
similarity index 100%
rename from skin/cacheicons/waybackmachine.png
rename to icons/cacheicons/waybackmachine.png
diff --git a/skin/cacheicons/webcitation.png b/icons/cacheicons/webcitation.png
similarity index 100%
rename from skin/cacheicons/webcitation.png
rename to icons/cacheicons/webcitation.png
diff --git a/icons/page-16.png b/icons/page-16.png
new file mode 100644
index 0000000..58d965e
Binary files /dev/null and b/icons/page-16.png differ
diff --git a/skin/em-icon.png b/icons/page-32.png
similarity index 100%
rename from skin/em-icon.png
rename to icons/page-32.png
diff --git a/skin/tb-icon-large.png b/icons/tb-icon-large.png
similarity index 100%
rename from skin/tb-icon-large.png
rename to icons/tb-icon-large.png
diff --git a/install.rdf b/install.rdf
deleted file mode 100644
index d36965f..0000000
--- a/install.rdf
+++ /dev/null
@@ -1,23 +0,0 @@
-
-
-
- {0c8fbd76-bdeb-4c52-9b24-d587ce7b9dc3}
- Resurrect Pages
- 3
- Resurrect dead pages, by finding their ghosts.
-
- http://trac.arantius.com/wiki/Extensions/Resurrect
- chrome://resurrect/skin/em-icon.png
-
- Anthony Lieuallen
- Translators from BabelZilla.org
-
-
-
- {ec8030f7-c20a-464f-9b0e-13a3a9e97384}
- 3.0
- 43.*
-
-
-
-
diff --git a/locale/ca-AD/overlay.dtd b/locale/ca-AD/overlay.dtd
deleted file mode 100644
index e01b220..0000000
--- a/locale/ca-AD/overlay.dtd
+++ /dev/null
@@ -1,14 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/locale/ca-AD/overlay.properties b/locale/ca-AD/overlay.properties
deleted file mode 100644
index 314d85b..0000000
--- a/locale/ca-AD/overlay.properties
+++ /dev/null
@@ -1 +0,0 @@
-extensions.{0c8fbd76-bdeb-4c52-9b24-d587ce7b9dc3}.description=Ressuscita pàgines mortes trobant els seus fantasmes (copies)
diff --git a/locale/cs-CZ/overlay.dtd b/locale/cs-CZ/overlay.dtd
deleted file mode 100644
index 4b12a04..0000000
--- a/locale/cs-CZ/overlay.dtd
+++ /dev/null
@@ -1,14 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/locale/cs-CZ/overlay.properties b/locale/cs-CZ/overlay.properties
deleted file mode 100644
index cd56297..0000000
--- a/locale/cs-CZ/overlay.properties
+++ /dev/null
@@ -1 +0,0 @@
-extensions.{0c8fbd76-bdeb-4c52-9b24-d587ce7b9dc3}.description=Oživuje mrtvé webové stránky vyhledáváním jejich duchů v archivech.
diff --git a/locale/da-DK/overlay.dtd b/locale/da-DK/overlay.dtd
deleted file mode 100644
index 6af34e4..0000000
--- a/locale/da-DK/overlay.dtd
+++ /dev/null
@@ -1,14 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/locale/da-DK/overlay.properties b/locale/da-DK/overlay.properties
deleted file mode 100644
index e36268f..0000000
--- a/locale/da-DK/overlay.properties
+++ /dev/null
@@ -1 +0,0 @@
-extensions.{0c8fbd76-bdeb-4c52-9b24-d587ce7b9dc3}.description=Genopliv døde sider, ved at finde deres spøgelser.
diff --git a/locale/da/overlay.dtd b/locale/da/overlay.dtd
deleted file mode 100644
index 34a991d..0000000
--- a/locale/da/overlay.dtd
+++ /dev/null
@@ -1,14 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/locale/da/overlay.properties b/locale/da/overlay.properties
deleted file mode 100644
index e36268f..0000000
--- a/locale/da/overlay.properties
+++ /dev/null
@@ -1 +0,0 @@
-extensions.{0c8fbd76-bdeb-4c52-9b24-d587ce7b9dc3}.description=Genopliv døde sider, ved at finde deres spøgelser.
diff --git a/locale/de-DE/overlay.dtd b/locale/de-DE/overlay.dtd
deleted file mode 100644
index 0009e79..0000000
--- a/locale/de-DE/overlay.dtd
+++ /dev/null
@@ -1,14 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/locale/de-DE/overlay.properties b/locale/de-DE/overlay.properties
deleted file mode 100644
index 1845ae4..0000000
--- a/locale/de-DE/overlay.properties
+++ /dev/null
@@ -1 +0,0 @@
-extensions.{0c8fbd76-bdeb-4c52-9b24-d587ce7b9dc3}.description=Wiederbeleben von toten Seiten, indem die Geister-Abbilder dieser Seiten gesucht werden.
diff --git a/locale/de/overlay.dtd b/locale/de/overlay.dtd
deleted file mode 100644
index 0009e79..0000000
--- a/locale/de/overlay.dtd
+++ /dev/null
@@ -1,14 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/locale/de/overlay.properties b/locale/de/overlay.properties
deleted file mode 100644
index 1845ae4..0000000
--- a/locale/de/overlay.properties
+++ /dev/null
@@ -1 +0,0 @@
-extensions.{0c8fbd76-bdeb-4c52-9b24-d587ce7b9dc3}.description=Wiederbeleben von toten Seiten, indem die Geister-Abbilder dieser Seiten gesucht werden.
diff --git a/locale/el-GR/overlay.dtd b/locale/el-GR/overlay.dtd
deleted file mode 100644
index 021c373..0000000
--- a/locale/el-GR/overlay.dtd
+++ /dev/null
@@ -1,14 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/locale/el-GR/overlay.properties b/locale/el-GR/overlay.properties
deleted file mode 100644
index ddbaeae..0000000
--- a/locale/el-GR/overlay.properties
+++ /dev/null
@@ -1 +0,0 @@
-extensions.{0c8fbd76-bdeb-4c52-9b24-d587ce7b9dc3}.description=Ανασύσταση «εξαφάνισμένων» σελίδων.
diff --git a/locale/el/overlay.dtd b/locale/el/overlay.dtd
deleted file mode 100644
index 021c373..0000000
--- a/locale/el/overlay.dtd
+++ /dev/null
@@ -1,14 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/locale/el/overlay.properties b/locale/el/overlay.properties
deleted file mode 100644
index 905d807..0000000
--- a/locale/el/overlay.properties
+++ /dev/null
@@ -1 +0,0 @@
-extensions.{0c8fbd76-bdeb-4c52-9b24-d587ce7b9dc3}.description=Ανασύσταση «εξαφανισμένων» σελίδων.
diff --git a/locale/en-US/overlay.dtd b/locale/en-US/overlay.dtd
deleted file mode 100644
index 4f5b93f..0000000
--- a/locale/en-US/overlay.dtd
+++ /dev/null
@@ -1,14 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/locale/en-US/overlay.properties b/locale/en-US/overlay.properties
deleted file mode 100644
index 9d7522d..0000000
--- a/locale/en-US/overlay.properties
+++ /dev/null
@@ -1 +0,0 @@
-extensions.{0c8fbd76-bdeb-4c52-9b24-d587ce7b9dc3}.description=Resurrect dead pages, by finding their ghosts.
diff --git a/locale/es-AR/overlay.dtd b/locale/es-AR/overlay.dtd
deleted file mode 100644
index 96eceba..0000000
--- a/locale/es-AR/overlay.dtd
+++ /dev/null
@@ -1,14 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/locale/es-AR/overlay.properties b/locale/es-AR/overlay.properties
deleted file mode 100644
index d02314e..0000000
--- a/locale/es-AR/overlay.properties
+++ /dev/null
@@ -1 +0,0 @@
-extensions.{0c8fbd76-bdeb-4c52-9b24-d587ce7b9dc3}.description=Resucita páginas muertas, encontrando sus restos.
diff --git a/locale/es-CL/overlay.dtd b/locale/es-CL/overlay.dtd
deleted file mode 100644
index 96eceba..0000000
--- a/locale/es-CL/overlay.dtd
+++ /dev/null
@@ -1,14 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/locale/es-CL/overlay.properties b/locale/es-CL/overlay.properties
deleted file mode 100644
index d02314e..0000000
--- a/locale/es-CL/overlay.properties
+++ /dev/null
@@ -1 +0,0 @@
-extensions.{0c8fbd76-bdeb-4c52-9b24-d587ce7b9dc3}.description=Resucita páginas muertas, encontrando sus restos.
diff --git a/locale/es-ES/overlay.dtd b/locale/es-ES/overlay.dtd
deleted file mode 100644
index 026cfc1..0000000
--- a/locale/es-ES/overlay.dtd
+++ /dev/null
@@ -1,14 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/locale/es-ES/overlay.properties b/locale/es-ES/overlay.properties
deleted file mode 100644
index c14a579..0000000
--- a/locale/es-ES/overlay.properties
+++ /dev/null
@@ -1 +0,0 @@
-extensions.{0c8fbd76-bdeb-4c52-9b24-d587ce7b9dc3}.description=Resucita páginas que ya no existen, buscando en las cachés.
diff --git a/locale/fi-FI/overlay.dtd b/locale/fi-FI/overlay.dtd
deleted file mode 100644
index 4a03230..0000000
--- a/locale/fi-FI/overlay.dtd
+++ /dev/null
@@ -1,14 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/locale/fi-FI/overlay.properties b/locale/fi-FI/overlay.properties
deleted file mode 100644
index 6377f1b..0000000
--- a/locale/fi-FI/overlay.properties
+++ /dev/null
@@ -1 +0,0 @@
-extensions.{0c8fbd76-bdeb-4c52-9b24-d587ce7b9dc3}.description=Herätä kuolleet sivut henkiin haamujen avulla.
diff --git a/locale/fi/overlay.dtd b/locale/fi/overlay.dtd
deleted file mode 100644
index 4a03230..0000000
--- a/locale/fi/overlay.dtd
+++ /dev/null
@@ -1,14 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/locale/fi/overlay.properties b/locale/fi/overlay.properties
deleted file mode 100644
index 6377f1b..0000000
--- a/locale/fi/overlay.properties
+++ /dev/null
@@ -1 +0,0 @@
-extensions.{0c8fbd76-bdeb-4c52-9b24-d587ce7b9dc3}.description=Herätä kuolleet sivut henkiin haamujen avulla.
diff --git a/locale/fr-FR/overlay.dtd b/locale/fr-FR/overlay.dtd
deleted file mode 100644
index eada656..0000000
--- a/locale/fr-FR/overlay.dtd
+++ /dev/null
@@ -1,14 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/locale/fr-FR/overlay.properties b/locale/fr-FR/overlay.properties
deleted file mode 100644
index f34fe05..0000000
--- a/locale/fr-FR/overlay.properties
+++ /dev/null
@@ -1 +0,0 @@
-extensions.{0c8fbd76-bdeb-4c52-9b24-d587ce7b9dc3}.description=Ressuscite les pages mortes en récupérant leur fantôme dans les caches.
diff --git a/locale/fr/overlay.dtd b/locale/fr/overlay.dtd
deleted file mode 100644
index c31963b..0000000
--- a/locale/fr/overlay.dtd
+++ /dev/null
@@ -1,14 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/locale/fr/overlay.properties b/locale/fr/overlay.properties
deleted file mode 100644
index f34fe05..0000000
--- a/locale/fr/overlay.properties
+++ /dev/null
@@ -1 +0,0 @@
-extensions.{0c8fbd76-bdeb-4c52-9b24-d587ce7b9dc3}.description=Ressuscite les pages mortes en récupérant leur fantôme dans les caches.
diff --git a/locale/hr-HR/overlay.dtd b/locale/hr-HR/overlay.dtd
deleted file mode 100644
index e8dca5d..0000000
--- a/locale/hr-HR/overlay.dtd
+++ /dev/null
@@ -1,14 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/locale/hr-HR/overlay.properties b/locale/hr-HR/overlay.properties
deleted file mode 100644
index 1768a5c..0000000
--- a/locale/hr-HR/overlay.properties
+++ /dev/null
@@ -1 +0,0 @@
-extensions.{0c8fbd76-bdeb-4c52-9b24-d587ce7b9dc3}.description=Uskrsava mrtve stranice pronalazeći njihove duhove.
diff --git a/locale/it-IT/overlay.dtd b/locale/it-IT/overlay.dtd
deleted file mode 100644
index be69315..0000000
--- a/locale/it-IT/overlay.dtd
+++ /dev/null
@@ -1,14 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/locale/it-IT/overlay.properties b/locale/it-IT/overlay.properties
deleted file mode 100644
index 872c996..0000000
--- a/locale/it-IT/overlay.properties
+++ /dev/null
@@ -1 +0,0 @@
-extensions.{0c8fbd76-bdeb-4c52-9b24-d587ce7b9dc3}.description=Permette di resuscitare pagine non più accessibili trovando corrispondenti pagine fantasma
diff --git a/locale/it/overlay.dtd b/locale/it/overlay.dtd
deleted file mode 100644
index ca79f6b..0000000
--- a/locale/it/overlay.dtd
+++ /dev/null
@@ -1,14 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/locale/it/overlay.properties b/locale/it/overlay.properties
deleted file mode 100644
index dec7a45..0000000
--- a/locale/it/overlay.properties
+++ /dev/null
@@ -1 +0,0 @@
-extensions.{0c8fbd76-bdeb-4c52-9b24-d587ce7b9dc3}.description=Permette di riattivare link/pagine web non più accessibili trovando corrispondenti pagine fantasma
diff --git a/locale/ja-JP/overlay.dtd b/locale/ja-JP/overlay.dtd
deleted file mode 100644
index ddd9621..0000000
--- a/locale/ja-JP/overlay.dtd
+++ /dev/null
@@ -1,14 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/locale/ja-JP/overlay.properties b/locale/ja-JP/overlay.properties
deleted file mode 100644
index bd638fd..0000000
--- a/locale/ja-JP/overlay.properties
+++ /dev/null
@@ -1 +0,0 @@
-extensions.{0c8fbd76-bdeb-4c52-9b24-d587ce7b9dc3}.description=死んだページを亡霊から生き返らせる。
diff --git a/locale/ko-KR/overlay.dtd b/locale/ko-KR/overlay.dtd
deleted file mode 100644
index 61bb9ab..0000000
--- a/locale/ko-KR/overlay.dtd
+++ /dev/null
@@ -1,14 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/locale/ko-KR/overlay.properties b/locale/ko-KR/overlay.properties
deleted file mode 100644
index 36855ba..0000000
--- a/locale/ko-KR/overlay.properties
+++ /dev/null
@@ -1 +0,0 @@
-extensions.{0c8fbd76-bdeb-4c52-9b24-d587ce7b9dc3}.description=죽은 페이지의 영혼을 찾아내서 부활시킵니다.
diff --git a/locale/nl-NL/overlay.dtd b/locale/nl-NL/overlay.dtd
deleted file mode 100644
index 927fde4..0000000
--- a/locale/nl-NL/overlay.dtd
+++ /dev/null
@@ -1,14 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/locale/nl-NL/overlay.properties b/locale/nl-NL/overlay.properties
deleted file mode 100644
index d6d6272..0000000
--- a/locale/nl-NL/overlay.properties
+++ /dev/null
@@ -1 +0,0 @@
-extensions.{0c8fbd76-bdeb-4c52-9b24-d587ce7b9dc3}.description=Wek dode pagina's weer tot leven door hun geesten te vinden.
diff --git a/locale/nl/overlay.dtd b/locale/nl/overlay.dtd
deleted file mode 100644
index b4a3db3..0000000
--- a/locale/nl/overlay.dtd
+++ /dev/null
@@ -1,14 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/locale/nl/overlay.properties b/locale/nl/overlay.properties
deleted file mode 100644
index 061cf4b..0000000
--- a/locale/nl/overlay.properties
+++ /dev/null
@@ -1 +0,0 @@
-extensions.{0c8fbd76-bdeb-4c52-9b24-d587ce7b9dc3}.description=Wek dode pagina’s weer tot leven door hun geesten te vinden.
diff --git a/locale/pl-PL/overlay.dtd b/locale/pl-PL/overlay.dtd
deleted file mode 100644
index 835efd3..0000000
--- a/locale/pl-PL/overlay.dtd
+++ /dev/null
@@ -1,14 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/locale/pl-PL/overlay.properties b/locale/pl-PL/overlay.properties
deleted file mode 100644
index 7af31f8..0000000
--- a/locale/pl-PL/overlay.properties
+++ /dev/null
@@ -1 +0,0 @@
-extensions.{0c8fbd76-bdeb-4c52-9b24-d587ce7b9dc3}.description=Odtwarzaj wygasłe strony odszukując ich cienie.
diff --git a/locale/pl/overlay.dtd b/locale/pl/overlay.dtd
deleted file mode 100644
index 835efd3..0000000
--- a/locale/pl/overlay.dtd
+++ /dev/null
@@ -1,14 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/locale/pl/overlay.properties b/locale/pl/overlay.properties
deleted file mode 100644
index 7af31f8..0000000
--- a/locale/pl/overlay.properties
+++ /dev/null
@@ -1 +0,0 @@
-extensions.{0c8fbd76-bdeb-4c52-9b24-d587ce7b9dc3}.description=Odtwarzaj wygasłe strony odszukując ich cienie.
diff --git a/locale/pt-BR/overlay.dtd b/locale/pt-BR/overlay.dtd
deleted file mode 100644
index 5c3dbb1..0000000
--- a/locale/pt-BR/overlay.dtd
+++ /dev/null
@@ -1,14 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/locale/pt-BR/overlay.properties b/locale/pt-BR/overlay.properties
deleted file mode 100644
index d99cf4c..0000000
--- a/locale/pt-BR/overlay.properties
+++ /dev/null
@@ -1 +0,0 @@
-extensions.{0c8fbd76-bdeb-4c52-9b24-d587ce7b9dc3}.description=Ressuscita páginas mortas, encontrando seus fantasmas.
diff --git a/locale/pt-PT/overlay.dtd b/locale/pt-PT/overlay.dtd
deleted file mode 100644
index 893d61a..0000000
--- a/locale/pt-PT/overlay.dtd
+++ /dev/null
@@ -1,14 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/locale/pt-PT/overlay.properties b/locale/pt-PT/overlay.properties
deleted file mode 100644
index 6b7f7eb..0000000
--- a/locale/pt-PT/overlay.properties
+++ /dev/null
@@ -1 +0,0 @@
-extensions.{0c8fbd76-bdeb-4c52-9b24-d587ce7b9dc3}.description=Ressuscita páginas mortas, ao encontrar os seus fantasmas.
diff --git a/locale/ru-RU/overlay.dtd b/locale/ru-RU/overlay.dtd
deleted file mode 100644
index 23f3b02..0000000
--- a/locale/ru-RU/overlay.dtd
+++ /dev/null
@@ -1,14 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/locale/ru-RU/overlay.properties b/locale/ru-RU/overlay.properties
deleted file mode 100644
index 2ec1234..0000000
--- a/locale/ru-RU/overlay.properties
+++ /dev/null
@@ -1 +0,0 @@
-extensions.{0c8fbd76-bdeb-4c52-9b24-d587ce7b9dc3}.description=Воскрешает мертвые страницы, находя их в кэше.
diff --git a/locale/sl-SI/overlay.dtd b/locale/sl-SI/overlay.dtd
deleted file mode 100644
index f8c1d30..0000000
--- a/locale/sl-SI/overlay.dtd
+++ /dev/null
@@ -1,14 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/locale/sl-SI/overlay.properties b/locale/sl-SI/overlay.properties
deleted file mode 100644
index 9bc3f1c..0000000
--- a/locale/sl-SI/overlay.properties
+++ /dev/null
@@ -1 +0,0 @@
-extensions.{0c8fbd76-bdeb-4c52-9b24-d587ce7b9dc3}.description=Oživi nedosegljive strani, prikaži njihove posnetke.
diff --git a/locale/sr/overlay.dtd b/locale/sr/overlay.dtd
deleted file mode 100644
index d1f9534..0000000
--- a/locale/sr/overlay.dtd
+++ /dev/null
@@ -1,14 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/locale/sr/overlay.properties b/locale/sr/overlay.properties
deleted file mode 100644
index 4a3429d..0000000
--- a/locale/sr/overlay.properties
+++ /dev/null
@@ -1 +0,0 @@
-extensions.{0c8fbd76-bdeb-4c52-9b24-d587ce7b9dc3}.description=Оживите избрисане странице проналажењем њихових старих копија.
diff --git a/locale/sv-SE/overlay.dtd b/locale/sv-SE/overlay.dtd
deleted file mode 100644
index 5507021..0000000
--- a/locale/sv-SE/overlay.dtd
+++ /dev/null
@@ -1,14 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/locale/sv-SE/overlay.properties b/locale/sv-SE/overlay.properties
deleted file mode 100644
index 3c894c6..0000000
--- a/locale/sv-SE/overlay.properties
+++ /dev/null
@@ -1 +0,0 @@
-extensions.{0c8fbd76-bdeb-4c52-9b24-d587ce7b9dc3}.description=Få webbsidor att återuppstå från de döda genom att hitta deras spöken.
diff --git a/locale/tr-TR/overlay.dtd b/locale/tr-TR/overlay.dtd
deleted file mode 100644
index 66f3bfc..0000000
--- a/locale/tr-TR/overlay.dtd
+++ /dev/null
@@ -1,14 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/locale/tr-TR/overlay.properties b/locale/tr-TR/overlay.properties
deleted file mode 100644
index 67bf6b1..0000000
--- a/locale/tr-TR/overlay.properties
+++ /dev/null
@@ -1 +0,0 @@
-extensions.{0c8fbd76-bdeb-4c52-9b24-d587ce7b9dc3}.description=Ölü sayfaları diriltin, hayaletlerini bularak.
diff --git a/locale/tr/overlay.dtd b/locale/tr/overlay.dtd
deleted file mode 100644
index 66f3bfc..0000000
--- a/locale/tr/overlay.dtd
+++ /dev/null
@@ -1,14 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/locale/tr/overlay.properties b/locale/tr/overlay.properties
deleted file mode 100644
index 67bf6b1..0000000
--- a/locale/tr/overlay.properties
+++ /dev/null
@@ -1 +0,0 @@
-extensions.{0c8fbd76-bdeb-4c52-9b24-d587ce7b9dc3}.description=Ölü sayfaları diriltin, hayaletlerini bularak.
diff --git a/locale/uk-UA/overlay.dtd b/locale/uk-UA/overlay.dtd
deleted file mode 100644
index 50551b8..0000000
--- a/locale/uk-UA/overlay.dtd
+++ /dev/null
@@ -1,14 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/locale/uk-UA/overlay.properties b/locale/uk-UA/overlay.properties
deleted file mode 100644
index 9d7522d..0000000
--- a/locale/uk-UA/overlay.properties
+++ /dev/null
@@ -1 +0,0 @@
-extensions.{0c8fbd76-bdeb-4c52-9b24-d587ce7b9dc3}.description=Resurrect dead pages, by finding their ghosts.
diff --git a/locale/zh-CN/overlay.dtd b/locale/zh-CN/overlay.dtd
deleted file mode 100644
index 8e3b3ba..0000000
--- a/locale/zh-CN/overlay.dtd
+++ /dev/null
@@ -1,14 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/locale/zh-CN/overlay.properties b/locale/zh-CN/overlay.properties
deleted file mode 100644
index c5049a0..0000000
--- a/locale/zh-CN/overlay.properties
+++ /dev/null
@@ -1 +0,0 @@
-extensions.{0c8fbd76-bdeb-4c52-9b24-d587ce7b9dc3}.description=通过寻找页库存档来还原失效的页面。
diff --git a/locale/zh-TW/overlay.dtd b/locale/zh-TW/overlay.dtd
deleted file mode 100644
index 2076994..0000000
--- a/locale/zh-TW/overlay.dtd
+++ /dev/null
@@ -1,14 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/locale/zh-TW/overlay.properties b/locale/zh-TW/overlay.properties
deleted file mode 100644
index 6dbf2cf..0000000
--- a/locale/zh-TW/overlay.properties
+++ /dev/null
@@ -1 +0,0 @@
-extensions.{0c8fbd76-bdeb-4c52-9b24-d587ce7b9dc3}.description=藉由尋找頁庫存檔來還原失效的頁面。
diff --git a/manifest.json b/manifest.json
new file mode 100644
index 0000000..3cd4a53
--- /dev/null
+++ b/manifest.json
@@ -0,0 +1,47 @@
+{
+ "manifest_version": 2,
+ "name": "__MSG_extensionName__",
+ "description": "__MSG_extensionDescription__",
+ "version": "4",
+ "default_locale": "en",
+
+ "applications": {
+ "gecko": {
+ "id": "{0c8fbd76-bdeb-4c52-9b24-d587ce7b9dc3}",
+ "strict_min_version": "56.0b3"
+ }
+ },
+
+ "background": {
+ "scripts": [
+ "common.js",
+ "background.js"
+ ]
+ },
+
+ "browser_action": {
+ "default_icon": "icons/page-32.png",
+ "default_title": "__MSG_extensionName__",
+ "default_popup": "popup.htm"
+ },
+
+ "commands": {
+ "_execute_browser_action": {
+ "suggested_key": {
+ "default": "Ctrl+Shift+U"
+ }
+ }
+ },
+
+ "icons": {
+ "16": "icons/page-16.png",
+ "32": "icons/page-32.png"
+ },
+
+ "permissions": [
+ "storage",
+ "contextMenus",
+ "tabs",
+ "activeTab"
+ ]
+}
diff --git a/popup.htm b/popup.htm
new file mode 100644
index 0000000..0a465db
--- /dev/null
+++ b/popup.htm
@@ -0,0 +1,57 @@
+
+
+
+
+
+
+
diff --git a/popup.js b/popup.js
new file mode 100644
index 0000000..9a14fb9
--- /dev/null
+++ b/popup.js
@@ -0,0 +1,32 @@
+chrome.storage.local.get('openIn', res => {
+ document.querySelectorAll('input[type=radio]').forEach(el => {
+ el.checked = el.value == res.openIn;
+ });
+});
+
+
+document.querySelectorAll('*[data-locale]').forEach(el => {
+ el.innerHTML += ' ' + chrome.i18n.getMessage(el.getAttribute('data-locale'));
+});
+
+
+function onOpenInChange() {
+ setOpenIn(document.querySelector('input[name="openIn"]:checked').value);
+};
+document.querySelectorAll('input[type=radio]').forEach(el => {
+ el.addEventListener('click', onOpenInChange, true);
+});
+
+
+function resurrect(gen) {
+ return function() {
+ chrome.tabs.query({active: true, currentWindow: true}, tabObj => {
+ goToUrl(gen(tabObj[0].url), openIn);
+ window.close();
+ });
+ }
+}
+document.querySelectorAll('button').forEach(el => {
+ el.addEventListener(
+ 'click', resurrect(window[el.getAttribute('data-gen')]), true);
+});
diff --git a/skin/cacheicons/archive.png b/skin/cacheicons/archive.png
deleted file mode 100644
index 01f20ca..0000000
Binary files a/skin/cacheicons/archive.png and /dev/null differ
diff --git a/skin/cacheicons/archiveis.ico b/skin/cacheicons/archiveis.ico
deleted file mode 100755
index b755255..0000000
Binary files a/skin/cacheicons/archiveis.ico and /dev/null differ
diff --git a/skin/netError.css b/skin/netError.css
deleted file mode 100644
index 62efe44..0000000
--- a/skin/netError.css
+++ /dev/null
@@ -1,46 +0,0 @@
-body.resurrect div#errorPageContainer {
- padding-right: 22em;
- max-width: 41em;
- min-height: 20em;
-}
-
-fieldset#resurrect {
- display: none;
-}
-body.resurrect fieldset#resurrect {
- display: block;
-
- position: absolute;
- top: 0;
- right: 0;
-
- background-color: white;
-
- width: 14em;
- padding: 1em;
- margin: 1em;
- margin-right: 1.5em;
-
- -moz-border-radius: 10px;
-}
-
-body.resurrect fieldset#resurrect legend img {
- vertical-align: middle;
- padding-right: 0.25em;
-}
-
-body.resurrect fieldset#resurrect button {
- width: 14em;
-}
-body.resurrect fieldset#resurrect button img {
- vertical-align: middle;
- margin-top: -6px;
-}
-
-/* Issue #6: Display below this popup. */
-body.resurrect fieldset#resurrect {
- z-index: 1;
-}
-body.resurrect #certificateErrorReportingPanel {
- z-index: 2;
-}
diff --git a/skin/resurrect-overlay.css b/skin/resurrect-overlay.css
deleted file mode 100644
index bad4b73..0000000
--- a/skin/resurrect-overlay.css
+++ /dev/null
@@ -1,6 +0,0 @@
-#resurrect-page-tb {
- list-style-image: url("chrome://resurrect/skin/tb-icon-large.png");
-}
-toolbar[iconsize="small"] #resurrect-page-tb {
- list-style-image: url("chrome://resurrect/skin/tb-icon-small.png");
-}
diff --git a/skin/select-mirror.css b/skin/select-mirror.css
deleted file mode 100755
index 57c4409..0000000
--- a/skin/select-mirror.css
+++ /dev/null
@@ -1,3 +0,0 @@
-#resurrect button {
- width: 14em;
-}
diff --git a/skin/tb-icon-small.png b/skin/tb-icon-small.png
deleted file mode 100644
index fe20ef3..0000000
Binary files a/skin/tb-icon-small.png and /dev/null differ