what about this one? in case of gmail compact noscript interprets next code (notification sound) as blocked object, with <AUDIO> tag and audio/ogg@data:audio/ogg;base64 la-la-la url
Code: Select all
160: , "audio.js": 'var AUDIO={"gc-mail.ogg":"data:audio/ogg;base64,T2dn ... SOYHWAA4="};'
167: , "js/chrome.js":
... function getChromeURL(a)
...
if (!CHROME || a.match(/\\/favicons\\ //))
{
var b = a.split("/");
try {
if (AUDIO && a.match(/\\.(?:mp3|ogg|wav)$/)) {
if (AUDIO[b[b.length - 1]]) {
return AUDIO[b[b.length - 1]]
}
}
} catch (e) {}
...
172: , "js/class/gmailcompact.class.js":
... $.audioMail=$.createDom("audio",{id:"gc:mailsound",src:getChromeURL("/audio/gc-mail.ogg")}); ...
...
function mailSoundPlaying(a) {
a = a || $.win.event
}
function mailSoundCompleted(a) {
a = a || $.win.event;
this.pause();
this.currentTime = 0
}
function prepareSound() {
$.gmail.body.appendChild($.audioMail);
$.audioMail.addEventListener("playing", mailSoundPlaying, false);
$.audioMail.addEventListener("ended", mailSoundCompleted, false)
}
...
function titleChanged(a) {
a = a || $.win.event;
var b = a.target;
if ($.settings.faviconchat) {
var c = false;
var d = b.data || b.text || b.textContent;
for (var i = 0; i < SAYS.length; i++) {
if (d.indexOf(SAYS[i]) == (d.length - SAYS[i].length)) {
if ($.hangoutSays.indexOf(d) == -1) {
$.hangoutSays.push(d)
}
generateFavicon(0, "chat", $.settings.usechaticon);
c = true;
break
}
}
if (!c) {
if ($.settings.faviconmail) {
generateFavicon($.gmail.menuLinksCount["#inbox"], "mail", $.settings.usemailicon)
} else {
setFavicon($.defaultFavicon)
}
}
}
}
function updateMenuLinks(a) {
setAbsoluteMenuLinkNames([a]);
var b = fetchUnreadMails(a);
var c = a.href.substr(a.href.indexOf("#"));
if ($.gmail.menuLinksCount[c] != b || !$.gmail.menuLinksCount[c]) {
switch (c) {
case "#inbox":
if (a.hasClass("removeMe")) {
b = $.gmail.menuLinksCount[c];
a.parentNode.removeNode()
}
if ($.settings.faviconmail) {
generateFavicon(b, "mail", $.settings.usemailicon)
} else {
setFavicon($.defaultFavicon)
}
if ($.settings.soundmail && $.gmail.menuLinksCount[c] < b) {
if (!$.settings.dontdisturbmail.now || !currentTimeIsBetween($.settings.dontdisturbmail)) {
if ($.audioMail.paused) {
$.audioMail.play()
}
}
}
break;
case "#drafts":
break;
case "#spam":
break
}
$.gmail.menuLinksCount[c] = b
}
}
...