});
function menu_ShowOptions () {
- chrome.tabs.create({url:chrome.extension.getURL("options.html")});
+ chrome.runtime.openOptionsPage();
}
function menu_ShowAdvancedView() {
- chrome.tabs.create({url:chrome.extension.getURL("advanced.html")});
+ chrome.tabs.create({url: "/advanced.html"});
}
function menu_ClearSelection () {
// };
//})(backupName);
- //var deleteFuncHandler = (function(backupName, elem) {
- // return function(event) {
- /*if (!confirm("Delete backup '" + backupName + "'?")) {
- return;
- }*/
-
- // bootbox.confirm("Delete backup '" + backupName + "'?", function(confirmed) {
- // if (confirmed) {
- // chrome.extension.getBackgroundPage().deleteBackup(backupName, function() {
-
- // });
-
- //if (elem.parentNode) {
- // elem.parentNode.removeChild(elem);
- //
- // removeBackupItemDiv (backupName);
- // }
- // });
-
-
- // };
- //})(backupName, elem);
-
if (insertAtBeginning && backupsDiv.childNodes.length > 0) {
// some items already exist
var firstNode = backupsDiv.childNodes[0];
var windowTitleSpan = document.createElement('span');
- windowTitleSpan.innerHTML = '<span style="font-weight: bold">Window ' + (i+1) + '</span>' +
- '<span style="float: right; font-size: 11px;">Tabs: ' + windowTabs.length + '</span>';
+ windowTitleSpan.innerHTML =
+ `<span style="font-weight: bold">Window ${i + 1} (${window.state}) ${window.width}×${window.height} @ ${window.top}×${window.left}</span>` +
+ `<span style="float: right; font-size: 11px;">Tabs: ${windowTabs.length}</span>`;
//windowTitleSpan.innerHTML = '<span>Window ' + (i+1) + '</span>' +
// '<br /><span style="font-size: 10px;">Nr. Tabs: ' + windowTabs.length + '</span>';
var tabSpanElem = document.createElement('span');
tabSpanElem.className = "restoreTabSpan";
var title = tabTitle === '' ? tabUrl : tabTitle;
- tabSpanElem.innerHTML = '<a href="' + tabUrl + '" target="_blank">' + title + '</a>';
+ tabSpanElem.innerHTML =
+ (tab.pinned ? '📌 ' : '') +
+ `<a href="${tabUrl}" target="_blank">${title}</a>`;
tabElem.appendChild(checkboxTabElem);
tabElem.appendChild(checkboxTabLabelElem);
lastTimeBackupNowClicked = new Date().getTime();
- chrome.extension.getBackgroundPage().backupNowManual(function(success, backupName, backupObj) {
+ chrome.runtime.sendMessage({
+ action: 'backupNowManual',
+ }, function({success, backupName, backupObj}) {
if (success) {
//updateBackupsList();
insertBackupItem (backupName, backupObj, true /*insertAtBeginning*/, true /*doAnimation*/);
}
function menu_restoreNow() {
- chrome.extension.getBackgroundPage().restoreNow('full_backup');
+ chrome.runtime.sendMessage({
+ action: 'restoreNow',
+ args: ['full_backup'],
+ });
}
-//document.onload(function () {
-//var a = document.getElementById("myid");
-//a.innerHTML = "ciaociao";
-//});
-
-/*
-var storageLocal = chrome.storage.local;
-storageLocal.getBytesInUse(null, function(bytesInUse) {
- var elem = document.createElement("div");
- elem.innerHTML = "<b>BYTES IN USE: " + bytesInUse + "</b><br />";
- document.body.appendChild(elem);
-});*/
+/**
+ * Callback from other pages (like the background).
+ */
+chrome.runtime.onMessage.addListener(function(request, sender, sendResponse) {
+ console.log(`Got message from ${sender.id}: action=${request.action}`, request);
+
+ let asyncResponse = false;
+ switch (request?.action) {
+ case 'insertBackupItem':
+ insertBackupItem(...request.args);
+ break;
+
+ case 'removeBackupItemDiv':
+ removeBackupItemDiv(...request.args);
+ break;
+ }
+ return asyncResponse;
+});