Always use lowercase identifiers
This commit is contained in:
parent
2e76146ed8
commit
b8711a3126
@ -1,13 +1,119 @@
|
||||
var browser = browser || chrome;
|
||||
|
||||
var PENDING_SUBMISSIONS = ':PENDING_SUBMISSIONS'
|
||||
var MIGRATION = ':MIGRATION'
|
||||
|
||||
var badIdentifiersArray = [
|
||||
'archive.is',
|
||||
'archive.org',
|
||||
'assets.tumblr.com',
|
||||
'bit.ly',
|
||||
'blogspot.com',
|
||||
'facebook.com/a',
|
||||
'facebook.com/ad_campaign',
|
||||
'facebook.com/ads',
|
||||
'facebook.com/ajax',
|
||||
'facebook.com/bookmarks',
|
||||
'facebook.com/buddylist.php',
|
||||
'facebook.com/bugnub',
|
||||
'facebook.com/comment',
|
||||
'facebook.com/composer',
|
||||
'facebook.com/events',
|
||||
'facebook.com/findfriends',
|
||||
'facebook.com/friends',
|
||||
'facebook.com/fundraisers',
|
||||
'facebook.com/games',
|
||||
'facebook.com/groups',
|
||||
'facebook.com/help',
|
||||
'facebook.com/home.php',
|
||||
'facebook.com/intl',
|
||||
'facebook.com/jobs',
|
||||
'facebook.com/l.php',
|
||||
'facebook.com/language.php',
|
||||
'facebook.com/legal',
|
||||
'facebook.com/like.php',
|
||||
'facebook.com/local_surface',
|
||||
'facebook.com/logout.php',
|
||||
'facebook.com/mbasic',
|
||||
'facebook.com/menu',
|
||||
'facebook.com/messages',
|
||||
'facebook.com/nfx',
|
||||
'facebook.com/notes',
|
||||
'facebook.com/notifications.php',
|
||||
'facebook.com/notifications',
|
||||
'facebook.com/nt',
|
||||
'facebook.com/page',
|
||||
'facebook.com/pages',
|
||||
'facebook.com/people',
|
||||
'facebook.com/permalink.php',
|
||||
'facebook.com/pg',
|
||||
'facebook.com/photo.php',
|
||||
'facebook.com/policies',
|
||||
'facebook.com/privacy',
|
||||
'facebook.com/profile.php',
|
||||
'facebook.com/rapid_report',
|
||||
'facebook.com/reactions',
|
||||
'facebook.com/salegroups',
|
||||
'facebook.com/search',
|
||||
'facebook.com/settings',
|
||||
'facebook.com/shares',
|
||||
'facebook.com/story.php',
|
||||
'facebook.com/ufi',
|
||||
'media.tumblr.com',
|
||||
'medium.com',
|
||||
'reddit.com',
|
||||
'reddit.com/r/all',
|
||||
'reddit.com/r/popular',
|
||||
'removeddit.com',
|
||||
't.co',
|
||||
't.umblr.com',
|
||||
'tumblr.com',
|
||||
'twitter.com',
|
||||
'twitter.com/hashtag',
|
||||
'twitter.com/i',
|
||||
'twitter.com/search',
|
||||
'twitter.com/settings',
|
||||
'twitter.com/threadreaderapp',
|
||||
'twitter.com/who_to_follow',
|
||||
'wordpress.com',
|
||||
'www.tumblr.com',
|
||||
'youtu.be',
|
||||
'youtube.com',
|
||||
'youtube.com/redirect',
|
||||
'youtube.com/watch',
|
||||
];
|
||||
var badIdentifiers = {};
|
||||
badIdentifiersArray.forEach(x => badIdentifiers[x] = true);
|
||||
|
||||
|
||||
var overrides = null;
|
||||
|
||||
var accepted = false;
|
||||
var installationId = null;
|
||||
|
||||
browser.storage.local.get(['overrides', 'accepted', 'installationId'], v => {
|
||||
accepted = v.accepted
|
||||
overrides = v.overrides || {}
|
||||
|
||||
var migration = overrides[MIGRATION] || 0;
|
||||
var CURRENT_VERSION = 2;
|
||||
if(migration < CURRENT_VERSION){
|
||||
|
||||
for(var key of Object.getOwnPropertyNames(overrides)){
|
||||
if(key.startsWith(':')) continue;
|
||||
if(key != key.toLowerCase()){
|
||||
var v = overrides[key];
|
||||
delete overrides[key];
|
||||
overrides[key.toLowerCase()] = v;
|
||||
}
|
||||
}
|
||||
|
||||
badIdentifiersArray.forEach(x => delete overrides[x]);
|
||||
|
||||
overrides[MIGRATION] = CURRENT_VERSION;
|
||||
browser.storage.local.set({ overrides: overrides });
|
||||
}
|
||||
|
||||
if (!v.installationId) {
|
||||
installationId = (Math.random() + '.' + Math.random() + '.' + Math.random()).replace(/\./g, '');
|
||||
browser.storage.local.set({ installationId: installationId });
|
||||
@ -121,8 +227,6 @@ function submitPendingRatings() {
|
||||
}
|
||||
|
||||
|
||||
var PENDING_SUBMISSIONS = ':PENDING_SUBMISSIONS'
|
||||
|
||||
function saveLabel(response) {
|
||||
if (accepted) {
|
||||
if (!overrides[PENDING_SUBMISSIONS]) {
|
||||
@ -148,69 +252,6 @@ function openHelp() {
|
||||
})
|
||||
}
|
||||
|
||||
var badIdentifiers = {};
|
||||
[
|
||||
'facebook.com/a',
|
||||
'facebook.com/ad_campaign',
|
||||
'facebook.com/ads',
|
||||
'facebook.com/ajax',
|
||||
'facebook.com/bookmarks',
|
||||
'facebook.com/buddylist.php',
|
||||
'facebook.com/bugnub',
|
||||
'facebook.com/comment',
|
||||
'facebook.com/composer',
|
||||
'facebook.com/events',
|
||||
'facebook.com/findfriends',
|
||||
'facebook.com/friends',
|
||||
'facebook.com/fundraisers',
|
||||
'facebook.com/games',
|
||||
'facebook.com/groups',
|
||||
'facebook.com/help',
|
||||
'facebook.com/home.php',
|
||||
'facebook.com/intl',
|
||||
'facebook.com/jobs',
|
||||
'facebook.com/l.php',
|
||||
'facebook.com/language.php',
|
||||
'facebook.com/legal',
|
||||
'facebook.com/like.php',
|
||||
'facebook.com/local_surface',
|
||||
'facebook.com/logout.php',
|
||||
'facebook.com/mbasic',
|
||||
'facebook.com/menu',
|
||||
'facebook.com/messages',
|
||||
'facebook.com/nfx',
|
||||
'facebook.com/notes',
|
||||
'facebook.com/notifications.php',
|
||||
'facebook.com/notifications',
|
||||
'facebook.com/nt',
|
||||
'facebook.com/page',
|
||||
'facebook.com/pages',
|
||||
'facebook.com/people',
|
||||
'facebook.com/permalink.php',
|
||||
'facebook.com/pg',
|
||||
'facebook.com/photo.php',
|
||||
'facebook.com/policies',
|
||||
'facebook.com/privacy',
|
||||
'facebook.com/profile.php',
|
||||
'facebook.com/rapid_report',
|
||||
'facebook.com/reactions',
|
||||
'facebook.com/salegroups',
|
||||
'facebook.com/search',
|
||||
'facebook.com/settings',
|
||||
'facebook.com/shares',
|
||||
'facebook.com/story.php',
|
||||
'facebook.com/ufi',
|
||||
'reddit.com/r/all',
|
||||
'reddit.com/r/popular',
|
||||
'twitter.com/hashtag',
|
||||
'twitter.com/i',
|
||||
'twitter.com/search',
|
||||
'twitter.com/settings',
|
||||
'twitter.com/threadreaderapp',
|
||||
'twitter.com/who_to_follow',
|
||||
'youtube.com/watch',
|
||||
].forEach(x => badIdentifiers[x] = true);
|
||||
|
||||
|
||||
|
||||
browser.contextMenus.onClicked.addListener(function (info, tab) {
|
||||
|
@ -308,7 +308,7 @@ function getIdentifier(urlstr) {
|
||||
try {
|
||||
var k = getIdentifierInternal(urlstr);
|
||||
if (k && k.indexOf('!') != -1) return null;
|
||||
return k;
|
||||
return k.toLowerCase();
|
||||
} catch (e) {
|
||||
console.warn("Unable to get identifier for " + urlstr);
|
||||
return null;
|
||||
@ -408,10 +408,10 @@ function getIdentifierInternal(urlstr) {
|
||||
if (isHostedOn(host, 'reddit.com')) {
|
||||
var pathname = url.pathname.replace('/u/', '/user/');
|
||||
if (!pathname.startsWith('/user/') && !pathname.startsWith('/r/')) return null;
|
||||
return 'reddit.com' + takeFirstPathComponents(pathname, 2).toLowerCase();
|
||||
return 'reddit.com' + takeFirstPathComponents(pathname, 2);
|
||||
}
|
||||
if (isHostedOn(host, 'twitter.com')) {
|
||||
return 'twitter.com' + takeFirstPathComponents(url.pathname, 1).toLowerCase();
|
||||
return 'twitter.com' + takeFirstPathComponents(url.pathname, 1);
|
||||
}
|
||||
if (isHostedOn(host, 'youtube.com')) {
|
||||
var pathname = url.pathname;
|
||||
@ -422,7 +422,7 @@ function getIdentifierInternal(urlstr) {
|
||||
return 'disqus.com' + takeFirstPathComponents(url.pathname, 2);
|
||||
}
|
||||
if (isHostedOn(host, 'medium.com')) {
|
||||
return 'medium.com' + takeFirstPathComponents(url.pathname, 1).toLowerCase();
|
||||
return 'medium.com' + takeFirstPathComponents(url.pathname, 1);
|
||||
}
|
||||
if (isHostedOn(host, 'tumblr.com')) {
|
||||
if (url.pathname.startsWith('/register/follow/')) {
|
||||
@ -430,7 +430,7 @@ function getIdentifierInternal(urlstr) {
|
||||
return name ? name + '.tumblr.com' : null;
|
||||
}
|
||||
if (host != 'www.tumblr.com' && host != 'assets.tumblr.com' && host.indexOf('.media.') == -1) {
|
||||
if (!url.pathname.startsWith('/tagged/')) return url.host.toLowerCase();
|
||||
if (!url.pathname.startsWith('/tagged/')) return url.host;
|
||||
}
|
||||
return null;
|
||||
}
|
||||
@ -441,13 +441,13 @@ function getIdentifierInternal(urlstr) {
|
||||
}
|
||||
if (host.indexOf('.blogspot.') != -1) {
|
||||
var m = captureRegex(host, /([a-zA-Z0-9\-]*)\.blogspot/);
|
||||
if (m) return m.toLowerCase() + '.blogspot.com';
|
||||
if (m) return m + '.blogspot.com';
|
||||
}
|
||||
|
||||
var id = host;
|
||||
if (id.startsWith('www.')) id = id.substr(4);
|
||||
if (id.startsWith('m.')) id = id.substr(2);
|
||||
return id.toLowerCase();
|
||||
return id;
|
||||
}
|
||||
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user