mirror of
https://github.com/zen-browser/desktop.git
synced 2025-10-05 17:36:34 +00:00
Add https:// scheme if URL doesn't contain one
This commit is contained in:
@@ -16,6 +16,21 @@ var gZenNewWebPanel = {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
|
addHttpIfMissing(url) {
|
||||||
|
// List of schemes to avoid
|
||||||
|
const avoidSchemes = ['about:', 'chrome:', 'moz-extension:', 'view-source:'];
|
||||||
|
// Check if the URL starts with any of the avoid schemes
|
||||||
|
for (let scheme of avoidSchemes) {
|
||||||
|
if (url.startsWith(scheme)) {
|
||||||
|
return url;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (!url.startsWith('http://') && !url.startsWith('https://')) {
|
||||||
|
return 'https://' + url;
|
||||||
|
}
|
||||||
|
return url;
|
||||||
|
},
|
||||||
|
|
||||||
handleDialogAccept: async function(aEvent) {
|
handleDialogAccept: async function(aEvent) {
|
||||||
document.commandDispatcher.focusedElement?.blur();
|
document.commandDispatcher.focusedElement?.blur();
|
||||||
let url = document.getElementById("zenNWP_url");
|
let url = document.getElementById("zenNWP_url");
|
||||||
@@ -23,8 +38,9 @@ var gZenNewWebPanel = {
|
|||||||
if (!url || !ua) {
|
if (!url || !ua) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
const urlValue = this.addHttpIfMissing(url.value);
|
||||||
try {
|
try {
|
||||||
new URL(url.value);
|
new URL(urlValue);
|
||||||
} catch (_) {
|
} catch (_) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -32,7 +48,7 @@ var gZenNewWebPanel = {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
let newSite = {
|
let newSite = {
|
||||||
url: url.value,
|
url: urlValue,
|
||||||
ua: ua.value,
|
ua: ua.value,
|
||||||
};
|
};
|
||||||
let currentData = JSON.parse(Services.prefs.getStringPref("zen.sidebar.data"));
|
let currentData = JSON.parse(Services.prefs.getStringPref("zen.sidebar.data"));
|
||||||
|
Reference in New Issue
Block a user