The Adblock Project Forum Index The Adblock Project
Pull up a seat ...stay a while.
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Adblock bugs

 
Post new topic   Reply to topic    The Adblock Project Forum Index -> Main
View previous topic :: View next topic  
Author Message
Wladimir Palant



Joined: 05 May 2006
Posts: 66

PostPosted: Sat Jun 03, 2006    Post subject: Adblock bugs Reply with quote

I find Adblock bugs regularly and there is no real bug tracker for them. While mcm is surely doing his best it doesn't seem like he has access to source code to fix them - other developers are unavailable. So I thought I would create a private thread simply to document Adblock bugs, also those that aren't directly visible to users. Especially that I'm going through Adblock code right now to create a feature comparison. This should be simply a list, no discussion.
_________________
Adblock Plus developer
http://adblockplus.org/
Back to top
View user's profile Send private message
Wladimir Palant



Joined: 05 May 2006
Posts: 66

PostPosted: Sat Jun 03, 2006    Post subject: Reply with quote

First one: any address ending with ".ico" will be ignored and cannot be blocked. Example: http://doubleclick.net/banner.gif?adblockFakeParam=.ico

Same thing happens with Adblock 0.6, only that there the address has to end with favicon.ico. Comment from the source code: "site favicon (who would want to block it?)" - lol :)

Not every favicon is called favicon.ico and not everything called favicon.ico is a favicon. You can't recognize a favicon from the address, you have to look at the context.
_________________
Adblock Plus developer
http://adblockplus.org/
Back to top
View user's profile Send private message
Wladimir Palant



Joined: 05 May 2006
Posts: 66

PostPosted: Sat Jun 03, 2006    Post subject: Reply with quote

The status bar indicator for whitelisted pages uses -moz-outline CSS property instead of border. This creates a visual glitch:

_________________
Adblock Plus developer
http://adblockplus.org/
Back to top
View user's profile Send private message
Wladimir Palant



Joined: 05 May 2006
Posts: 66

PostPosted: Sat Jun 03, 2006    Post subject: Reply with quote

Context menu doesn't check whether it really can block an item. For example you if you open a page from your disk (file:// protocol) you will still get "Adblock Image" in the context menu. You won't be able to actually block anything of course.

Context menu items should go by the list of blockable items, not just take whatever they find.
_________________
Adblock Plus developer
http://adblockplus.org/
Back to top
View user's profile Send private message
Wladimir Palant



Joined: 05 May 2006
Posts: 66

PostPosted: Sat Jun 03, 2006    Post subject: Reply with quote

Overlay Flash feature can't deal with relatively positioned tables. Example code:
Code:

<table border style="position: relative;">
<tr>
<td><embed src="flashbanner.swf" type="application/x-shockwave-flash" height="100" width="100"></td>
</tr>
</table>

The Flash overlay will display at a wrong position here. There are also numerous issues with elements that have scrolling (overflow:scroll or overflow:auto).
_________________
Adblock Plus developer
http://adblockplus.org/
Back to top
View user's profile Send private message
Wladimir Palant



Joined: 05 May 2006
Posts: 66

PostPosted: Mon Jun 05, 2006    Post subject: Reply with quote

Filter list in preferences has trouble with selections. One reproducible example:
1. Make sure you have at least two pages of filters.
2. Switch off sorting so that new filters are added at the end.
3. Add a new filter.
Note that the selection for the new filter doesn't show up even though it is selected. If you go to some other item on the list the selection will appear, but on the new item you added it is permanently broken.

Well, that's the price being paid for a useless fork of the listbox widget...
_________________
Adblock Plus developer
http://adblockplus.org/
Back to top
View user's profile Send private message
Wladimir Palant



Joined: 05 May 2006
Posts: 66

PostPosted: Mon Jun 05, 2006    Post subject: Reply with quote

Trying to open preferences creates a JavaScript error:
Quote:
"Error: uncaught exception: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsIDOMWindowInternal.focus]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: chrome://adblock/content/adblock.js :: adblockSettings :: line 1137" data: no]

This happens if the preferences window is already open and busy with some modal dialog (e.g. Export Filters).
_________________
Adblock Plus developer
http://adblockplus.org/
Back to top
View user's profile Send private message
Wladimir Palant



Joined: 05 May 2006
Posts: 66

PostPosted: Mon Jun 05, 2006    Post subject: Reply with quote

Functions adblockFindAttribute and adblockPageBlockListener in adblock.js - useless code, it isn't actually called anywhere.
_________________
Adblock Plus developer
http://adblockplus.org/
Back to top
View user's profile Send private message
Wladimir Palant



Joined: 05 May 2006
Posts: 66

PostPosted: Mon Jun 05, 2006    Post subject: Reply with quote

JavaScript error when trying to toggle QuickBlock mode:
Quote:
Fehler: uncaught exception: [Exception... "Component returned failure code: 0x80004003 (NS_ERROR_INVALID_POINTER) [nsIPrefBranch.setCharPref]" nsresult: "0x80004003 (NS_ERROR_INVALID_POINTER)" location: "JS frame :: chrome://adblock/content/adblock.js :: toggleQuickblockEnable :: line 581" data: no]

This happens if the adblock.quickblock pref contains a value that isn't "off", "partial" or "full".
_________________
Adblock Plus developer
http://adblockplus.org/
Back to top
View user's profile Send private message
Wladimir Palant



Joined: 05 May 2006
Posts: 66

PostPosted: Mon Jun 05, 2006    Post subject: Reply with quote

Overlay Flash tries to re-enable the context menu on pages that have it disabled - and fails. Aside from the fact that the code plainly doesn't work, it simply tries to remove document.oncontextmenu. Well, you don't need oncontextmenu to define a listener for the contextmenu event, see addEventListener(). And this listener could be anywhere in the document, not just at the top level. Setting the pref dom.event.contextmenu.enabled temporarily to false is definitely a better way to do this.

On the other hand - maybe that feature wasn't intended to be universal. According to the comment in the source code rue was targeting thehulk.com. Well, all Adblock users visiting thehulk.com and using Overlay Flash there are thankful, for sure...
_________________
Adblock Plus developer
http://adblockplus.org/
Back to top
View user's profile Send private message
Wladimir Palant



Joined: 05 May 2006
Posts: 66

PostPosted: Mon Jun 05, 2006    Post subject: Reply with quote

Overlay Flash can be tricked into thinking that an object already has an overlay. Example code:
Code:
<div AdblockEmbedDiv="nada" style="display:none;"></div><embed src="flashbanner.swf" type="application/x-shockwave-flash" height="100" width="100">

The invisible DIV before the object will prevent Overlay Flash from working in this case.
_________________
Adblock Plus developer
http://adblockplus.org/
Back to top
View user's profile Send private message
Wladimir Palant



Joined: 05 May 2006
Posts: 66

PostPosted: Mon Jun 05, 2006    Post subject: Reply with quote

And again tricking Overlay Flash. It is using an attribute on the document element to indicate that Flash overlays are already in place. Well, Adblock is not the only one who can set attributes. And using mutation events one can ensure that the attribute's value never changes. This JavaScript code in a page makes sure Overlay Flash never works:
Code:
var element = document.documentElement;
element.setAttribute("AdblockFlashblocked", "true");
element.addEventListener("DOMAttrModified", function(e) {
  if (e.attrName.toLowerCase() == "adblockflashblocked" && e.newValue != "true") {
    setTimeout(function() {e.target.setAttribute("AdblockFlashblocked", "true");}, 0);
  }
}, false);

Conclusion: touching attributes from an ad blocking extension strictly prohibited.
_________________
Adblock Plus developer
http://adblockplus.org/
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    The Adblock Project Forum Index -> Main All times are GMT + 1 Hour
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group