Initial push...

This commit is contained in:
2018-05-01 19:04:30 -05:00
parent 6e274c35bd
commit 9b8db70b0d
11 changed files with 306 additions and 0 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.9 KiB

22
src/manifest.json Normal file
View File

@@ -0,0 +1,22 @@
{
"manifest_version": 2,
"name": "Alt Tab Page",
"version": "1.0.0",
"description": "Alt Tab Page helps set the preferred load page for new tabs.",
"applications": {
"gecko": {
"id": "altTabPage@itdominator.com",
"strict_min_version": "54.0"
}
},
"icons": {
"48": "icons/altTabPage_48x48.png",
"96": "icons/altTabPage_96x96.png"
},
"permissions": [ "storage" ],
"options_ui": { "page": "pages/options.html" },
"chrome_url_overrides": { "newtab": "pages/newTab.html" }
}

10
src/pages/newTab.html Normal file
View File

@@ -0,0 +1,10 @@
<!DOCTYPE html>
<html>
<head>
<title>New Tab</title>
<meta charset="utf-8"/>
</head>
<body>
<script src="../scripts/loadNewPage.js"></script>
</body>
</html>

26
src/pages/options.html Executable file
View File

@@ -0,0 +1,26 @@
<!DOCTYPE html>
<html>
<head>
<title>Alt Tab Page Settings</title>
<meta charset="utf-8"/>
<style media="screen">
button { float: right; }
#tabPageToLoad { width: 100%; margin-bottom: 0.5em; }
</style>
</head>
<body>
<font size="4">
<p>
Alt Tab Page allows the user to select their preferred load page for new tabs and defaults to Google's when not in use.
<br/><br/>
<label>Prefered Tab Page:</label>
<input id="tabPageToLoad" type="text" value="">
<button id="saveButtonAction" type="button" name="ButtonSave">Save</button>
<button id="delButtonAction" type="button" name="ButtonDel">Delete</button>
</p>
</font>
<script src="../scripts/altTabPageSettings.js"></script>
</body>
</html>

View File

@@ -0,0 +1,44 @@
// Declare variables.
const browserStorage = browser.storage.local;
const tabPgInput = document.querySelector("#tabPageToLoad");
const saveBttn = document.querySelector("#saveButtonAction");
const delBttn = document.querySelector("#delButtonAction");
/* Asign signal handaling in settings page. */
// Save desired url....
saveBttn.addEventListener('click', () => {
var urlLink = tabPgInput.value;
urlLink = (urlLink.match(/(localhost)\b/)) ? urlLink.replace("localhost", "127.0.0.1") : urlLink;
urlLink = (urlLink.match(/^(http:\/\/|https:\/\/)/)) ? urlLink : "http://" + urlLink;
browserStorage.clear();
browserStorage.set({ userSelectedTabPage : urlLink });
tabPgInput.value = urlLink;
console.log("Saved Alt Tab Page: " + urlLink);
});
// Delete desired url and set Default marker....
delBttn.addEventListener('click', () => {
browserStorage.clear();
tabPgInput.value = "Default";
console.log("Deleted Alt Tab Page...");
});
// On start load from settings
function loadOnStart(restoredSettings) {
var homeTabURL = restoredSettings.userSelectedTabPage;
console.log("Trying to load settings if any...");
if (homeTabURL !== "Default" && homeTabURL !== undefined) {
tabPgInput.value = homeTabURL
} else {
tabPgInput.value = "Default";
}
}
function onError(e) { console.error(e); }
browserStorage.get().then(loadOnStart, onError);

View File

@@ -0,0 +1,21 @@
function redirectToPreferedHome() {
var tabPgSettings = browser.storage.local.get();
tabPgSettings.then(finishLoad, onError);
}
function finishLoad(toLoadSettings) {
var loadSelectedPage = browser.tabs;
var pageToLoad = toLoadSettings.userSelectedTabPage;
console.log("Trying to load settings if any...");
if (pageToLoad !== "Default" && pageToLoad !== undefined) {
loadSelectedPage.update({url: pageToLoad});
} else {
loadSelectedPage.update({url: "https://www.google.com/"});
}
}
function onError(error) { console.log(`Error: ${error}`); }
redirectToPreferedHome();