Add Twitter image support

This commit is contained in:
Les De Ridder 2016-01-30 22:57:25 +01:00
parent 152f54f23b
commit f03bf7b965
1 changed files with 22 additions and 10 deletions

View File

@ -33,7 +33,7 @@ chrome.pageAction.onClicked.addListener(function(tab) {
getCurrentTabUrl(function(url) {
var betterUrl = getBetterUrl(url);
var filename = betterUrl.substr(betterUrl.lastIndexOf("/"));
filename = removeQueryString(filename);
filename = cleanExtension(filename);
chrome.storage.sync.get({url: '', tabbehaviour: '', copytoclipboard: false, replacebookmark: false}, function(config) {
if(config.url == '') {
@ -78,29 +78,41 @@ function getBetterUrl(url) {
var extension = url.substr(extensionIndex + 1);
if(extension == "gifv") {
return url.replace("gifv", "mp4");
url = url.replace("gifv", "mp4");
}
if(url.indexOf('pbs.twimg.com/media/') != -1 && url.indexOf(':orig') == -1) {
if(url.indexOf(':') != url.lastIndexOf(':')) { //Match if there are occurences of ':' other than the ':' in 'https://', such as in '.jpg:large'
url = url.substr(0, url.lastIndexOf(':'));
}
url = url + ':orig';
}
return url;
}
function removeQueryString(url) {
if(url.indexOf('?') != -1) {
return url.substr(0, url.indexOf('?'));
} else {
return url;
function cleanExtension(url) {
var trailingStrings = ["?", ":orig"];
for(trailingString of trailingStrings) {
if(url.indexOf(trailingString) != -1) {
url = url.substr(0, url.indexOf(trailingString));
}
}
return url;
}
function isCoolUrl(url) {
url = url.toLowerCase();
var extensionIndex = url.lastIndexOf('.');
var extension = removeQueryString(url.substr(extensionIndex + 1));
var extension = cleanExtension(url.substr(extensionIndex + 1));
var validExtensions = ["jpg", "jpeg", "png", "gif", "webm", "gifv", "mp4", "mp3", "ogg", "opus"];
var blackList = ["pomf", "mixtape.moe", "catgirlsare.sexy", "cocaine.ninja"];
var blackList = ["pomf.", "mixtape.moe", "catgirlsare.sexy", "cocaine.ninja"];
for(black of blackList) {
if(url.indexOf(black) != -1) {
@ -120,7 +132,7 @@ chrome.tabs.onUpdated.addListener(function(tabId, changeInfo, tab) {
chrome.tabs.onActivated.addListener(function(activeInfo) {
chrome.tabs.get(activeInfo.tabId, function(tab) {
if(isCoolUrl(tab.url))
if(isCoolUrl(getBetterUrl(tab.url)))
{
chrome.pageAction.show(activeInfo.tabId);
}