Bug 1519197 Comment 6 Edit History

Note: The actual edited comment in the bug view page will always show the original commenter’s name and original timestamp.

(In reply to Johann Hofmann [:johannh] from comment #3)

> What does "more complete support" mean exactly?

There are vast differences between what the community supports for ad blocking and what the SafeBrowsing formats support. For an incomplete list of a few issues I've noticed, we lack:
- Support for ad URLs with Punycode characters
- Support for regular expressions
- Support for CSS hiding
- Support for per domain or per resource type exceptions

Each one of these features would allow us to block more ads than we can presently.
 
> What's the reasoning for not leaning on existing APIs for this? Can't you write the equivalent of a system-addon for this purpose, if you want to support Ad-Blocking natively?
> 
> We have the URL-Classifier which powers things like Tracking Protection, so that's very close to first-party ad-blocking support.
> 
> Baku, how much do you think it would take to evolve URL-Classifier to support AdBlock Plus-style lists?
> 
> As it is presented here, my personal opinion is that this is a waste of time given that we already have the WebExtension APIs.

PMs on the project are interested in a more first-party solution. This could possibly be built on top of a WebExtension, but it seemed they did not simply want to say treat an existing WebExtension as a system extension.

> I think you're underestimating the complexity of this task. Of course it depends on how it's implemented but if we are talking about an effort similar to our existing Tracking Protection code then that's not a GSoC project. Given that you would have it as a GSoC project I take it that this is not a high priority for your team?

I understand the complexity, but implementing partial support could be done within a summer, especially if building off of existing open source solutions. The AdBlock Plus format has many features and is quite complicated, but there are various open source implementations already to build from.
(In reply to Johann Hofmann [:johannh] from comment #3)

> What does "more complete support" mean exactly?

There are vast differences between what the community supports for ad blocking and what the SafeBrowsing formats support. For an incomplete list of a few issues I've noticed, we lack:
- Support for ad URLs with Punycode characters
- Support for regular expressions
- Support for CSS hiding
- Support for per domain or per resource type exceptions

Each one of these features would allow us to block more ads than we can presently.
 
> What's the reasoning for not leaning on existing APIs for this? Can't you write the equivalent of a system-addon for this purpose, if you want to support Ad-Blocking natively?
> 
> We have the URL-Classifier which powers things like Tracking Protection, so that's very close to first-party ad-blocking support.
> 
> Baku, how much do you think it would take to evolve URL-Classifier to support AdBlock Plus-style lists?
> 
> As it is presented here, my personal opinion is that this is a waste of time given that we already have the WebExtension APIs.

PMs on the project are interested in a more first-party solution. This could possibly be built on top of a WebExtension, but it seemed they did not simply want to say treat an existing WebExtension as a system extension.

> I think you're underestimating the complexity of this task. Of course it depends on how it's implemented but if we are talking about an effort similar to our existing Tracking Protection code then that's not a GSoC project. Given that you would have it as a GSoC project I take it that this is not a high priority for your team?

I understand the complexity, but implementing partial support could be done within a summer, especially if building off of existing open source solutions. The AdBlock Plus format has many features and is quite complicated, but there are various open source implementations already to learn from.
(In reply to Johann Hofmann [:johannh] from comment #3)

> What does "more complete support" mean exactly?

There are vast differences between what the community supports for ad blocking and what the SafeBrowsing formats support. For an incomplete list of a few issues I've noticed, we lack:
- Support for ad URLs with Punycode characters
- Support for regular expressions
- Support for CSS hiding
- Support for per domain or per resource type exceptions

Each one of these features would allow us to block more ads than we can presently.
 
> What's the reasoning for not leaning on existing APIs for this? Can't you write the equivalent of a system-addon for this purpose, if you want to support Ad-Blocking natively?
> 
> We have the URL-Classifier which powers things like Tracking Protection, so that's very close to first-party ad-blocking support.
> 
> Baku, how much do you think it would take to evolve URL-Classifier to support AdBlock Plus-style lists?
> 
> As it is presented here, my personal opinion is that this is a waste of time given that we already have the WebExtension APIs.

PMs on the project are interested in a more first-party solution. This could possibly be built on top of a WebExtension, but it seemed they did not simply want to say treat an existing WebExtension as a system extension.

> I think you're underestimating the complexity of this task. Of course it depends on how it's implemented but if we are talking about an effort similar to our existing Tracking Protection code then that's not a GSoC project. Given that you would have it as a GSoC project I take it that this is not a high priority for your team?

I understand a rough idea of the complexity, but implementing partial support could be done within a summer, especially if building off of existing open source solutions. The AdBlock Plus format has many features and is quite complicated, but there are various open source implementations already to learn from.

Back to Bug 1519197 Comment 6