cosmetic-id-adbanner-3p

Over-fire control for the Standard-mode un-hide: the same ###navAdBanner match, but the banner holds a cross-origin image (test-adblock.org, a test-owned second registrable domain, on no shipped block list; moved from www.adblocklabs.com under ENG-2306 so the marketing site being down cannot fail this page) and only the two-letter label “Ad”, so neither un-hide branch applies.

Brave's Standard-mode rule (content_cosmetic.ts, isSubTreeFirstParty + showsSignificantText) un-hides a generic EasyList match 0.3–2.5 s after load (the time moves between runs) when the element's subtree is first-party (a first-party src, or no remote resources at all) or it shows significant text (≥30 characters and ≥5 words). It stays hidden only when it has a third-party resource and little text.

Expected in every mode: hidden, and still hidden on the settled read. Visible here means the un-hide fired on third-party ad-shaped content.

The release-test runner reads this page twice (about 250 ms after network idle, and ≥3 s after loadEventEnd) and samples the banner from document start. It grades settled_expectations on the second read and, where that says visible, also requires that the banner was hidden at some point first. The un-hide time moves between runs (0.3–2.5 s), so no fixed early read proves that. The status line below mirrors it with the page's own sampler.

← back to index

pending…