
Loading…
Elements are not hidden under some circumstances. #1113
Doesn't work for ABP either.
Edit:
Correction: ABP/Chromium fails. ABP/Firefox succeeds.
Alright then, I can un-comment the code which took care of this case, however I commented out because I am unsure there are real cases for which it is really an issue.
It does work just fine for me. 
At least you should make it consistent, now whitespace changes can alter uBlock behavior which shouldn't be the case. See here it works and it was only one space removed... https://dl.dropboxusercontent.com/u/16282309/uBlock/works.html
It does work just fine for me
On Firefox, not Chromium.
Here is the thing... Your specific test case used to be handled by uBlock. However I commented out the code to handle such specific case.
The reason is that I've yet to see a real case in the wild, not a proof of concept case. As said, ABP-Chromium exhibits the same behavior, your tag won't be hidden. Given this, I had to chose between:
- Behave just like Chromium-ABP + less overhead; or
- Handle your case + added overhead
In the end I went with less overhead given that I've yet to find your proof of concept in a real setting. Also weighting in the balance, even if I put back the code to handle your proof of concept, I can easily within seconds create a new similar proof of concept which would defeat the solution: Add the display: block !important; after 1 second through javascript.
So given all this, this is normal behavior. If ever there is a real case instead of a proof of concept, then I will address it.
Here is the thing... Your specific test case used to be handled by uBlock. However I commented out the code to handle such specific case.
You still didn't comment why it works here:
https://dl.dropboxusercontent.com/u/16282309/uBlock/works.html
and doesn't work here:
https://dl.dropboxusercontent.com/u/16282309/uBlock/test.html
But I guess it is not important.
The reason is that I've yet to see a real case in the wild, not a proof of concept case.
Ok, I will keep this in mind. I wanted to make this easier to reproduce for you. Because as we can see even whitespace changes make a difference. So posting the site wouldn't make this obvious. I will not waste my time to diagnose next time.
Add the display: block !important; after 1 second through javascript.
Block javascript in this case. You are being unfair. And bug I'm reporting doesn't involve JS. So it is hardly related.
So given all this, this is normal behavior. If ever there is a real case instead of a proof of concept, then I will address it.
I prepared this test-case from real site. You wouldn't be able to reproduce without an account. And I've also encountered this issue on other sites, but believe me or not I'm not making a log of sites where something is not hidden. I will send you a link if I find one next time.
Ps. Chromium-ABP is hardly a reference blocker if one is using Firefox.
You still didn't comment why it works here
It didn't work the first visit, worked the subsequent visits. The code commented out which I pointed out above still exists in contentscript-start.js, so if the DOM is loaded by the time contentscript-start.js executes, then it will be hidden. The page is so simple that the condition is likely always met. Now I am less worried about the overhead in contentscript-start.js because querySelectorAll is likely to be called when the DOM is not fully populated yet.
I prepared this test-case from real site. You wouldn't be able to reproduce without an account. And I've also encountered this issue on other sites
Ok then, this is different.
A URL to an occurrence of the issue on a web site somewhere would still be welcomed.
Hi,
I prepared little test case for a bug that is bothering me for some time. https://dl.dropboxusercontent.com/u/16282309/uBlock/test.html
##.hidedoesn't work.This is a strange bug because, I can alter uBlock behavior even by removing white space inscriptblock. It took me some time to prepare this file, because any change can make it work or don't. Basically in some cases uBlock will change style of thisdivtodisplay: none ! important;in other it will only add CSS rule which is not enough obviously anddisplay: block !importanttakes precedence.I can reproduce this bug on multiple sites.