59 lines
2.0 KiB
JavaScript
Raw Normal View History

function QueueDownloadByInfo(info, mode, quality) {
// Select either the current page location, or the target of a href (if the user clicked on one)
QueueDownload(
urlToDownload = typeof(info.linkUrl) != 'undefined' ? info.linkUrl : info.pageUrl,
mode,
quality
); // <- Defined in queueDwonload.js
return;
}
// Create main context menu entry
chrome.contextMenus.create({
title: "Tubio",
contexts:["all"],
id: "tubio-parent-contextmenu-entry",
});
// Automate creating a lot of entries
function CreateContextMenuOption(optionName, callback) {
chrome.contextMenus.create({
title: optionName,
contexts: ["all"],
type: "normal",
parentId: "tubio-parent-contextmenu-entry",
onclick: callback
});
}
// Create all download methods
CreateContextMenuOption("Download Video - Best", function(info) {
QueueDownloadByInfo(info, "video", "best");
});
CreateContextMenuOption("Download Video - 1440p", function(info) {
QueueDownloadByInfo(info, "video", "1440p");
});
CreateContextMenuOption("Download Video - 1080p", function(info) {
QueueDownloadByInfo(info, "video", "1080p");
});
CreateContextMenuOption("Download Video - 720p", function(info) {
QueueDownloadByInfo(info, "video", "720p");
});
CreateContextMenuOption("Download Video - 480p", function(info) {
QueueDownloadByInfo(info, "video", "480p");
});
CreateContextMenuOption("Download Video - 360p", function(info) {
QueueDownloadByInfo(info, "video", "360p");
});
CreateContextMenuOption("Download Video - 240p", function(info) {
QueueDownloadByInfo(info, "video", "240p");
});
CreateContextMenuOption("Download Video - 144p", function(info) {
QueueDownloadByInfo(info, "video", "144p");
});
CreateContextMenuOption("Download Audio", function(info) {
QueueDownloadByInfo(info, "audio", "best"); // <- Quality is ignored when downloading audio only
});