Open Bug 1663203 Opened 4 years ago Updated 2 years ago

Investigate Chrome's "Heavy Ad Intervention"

Categories

(Core :: DOM: Content Processes, enhancement, P3)

enhancement

Tracking

()

People

(Reporter: caspy77, Unassigned)

References

Details

Google recently announced an "intent to ship" Heavy Ad Intervention.

That post reads in part:

Chrome will unload ad iframes that use an egregious amount of CPU or network bandwidth. Iframes are labeled as ads heuristically by AdTagging. Limits for this intervention are defined in the explainer.

This intervention only targets the heaviest .3% of advertisements as seen by Chrome. More info can be found in the chromium blog post.

We ought to consider similar actions - though we don't need to feel constrained by their exact criteria.

Given the potential effect on advertisers this might be a harder sell if the marketshare leader were not also doing it.

Blocks: fission-perf

I'm going to change the summary to better convey the speculative nature of this bug filing, so people don't get confused and think that there is a current intent to implement this in Firefox. I don't know if DOM: Content Processes is the right component, given that the more difficult part of it will be deciding if we should unload things, and what we should unload, rather than doing the unloading, but I'm not sure what would be better.

Summary: Enact "Heavy Ad Intervention" → Investigate Chrome's "Heavy Ad Intervention"

This is likely easier once Fission is in use, since we can target specific ads more easily. Note that currently we combine ads in a process from different tabs (or from different iframes of the same tab), so care would be need to be take to avoid summing a large number of low-impact ad iframes and thinking it's a high-impact iframe (shouldn't be hard (perhaps just divide by the number of tabs (not iframes) using the process), but important to remember).

We might be able to target the iframes in ways different than Chrome mentions (unloading) - freezing until user input, or severely throttling

I think that we should consider targeting iframes that take too much memory, too. In which case unloading would probably be the only solution.

(ok, there may be ways with freezing)

(In reply to David Teller [:Yoric] (please use "needinfo") from comment #3)

I think that we should consider targeting iframes that take too much memory, too. In which case unloading would probably be the only solution.

Chrome is interested in enforcing against excessive memory use as well. https://bugs.chromium.org/p/chromium/issues/detail?id=1117176

(In reply to Randell Jesup [:jesup] (needinfo me) from comment #2)

We might be able to target the iframes in ways different than Chrome mentions (unloading) - freezing until user input, or severely throttling

I think we should throttle all ad processes by default as they do not contribute positively to user experience. I recommended this in bug 1562636. Not negating what you said, but didn't know if we wanted to fix these together.

Also, I'm not sure if we should waffle too heavily over whether to unload bad-actor ads or choose less extreme measures. We already block many ads incidentally through our default tracking protection. Additionally, in Google's assessment, the worst offenders are only 0.3% of the total - though we may choose to expand on this.

See Also: → 1562636
Severity: -- → S3
Fission Milestone: --- → Future
Priority: -- → P3

Fission will soon be enabled by default. This heavy ad intervention is not Fission-specific work, so I'm clearing its Fission Milestone.

Fission Milestone: Future → ---
No longer blocks: fission-perf
See Also: → fission-perf
You need to log in before you can comment on or make changes to this bug.